2

我正在尝试将一些 Ruby 代码转换为 C#,但我不明白以下行的作用。特别是“挑战>> 24”和类似的部分。

challenge = sprintf("%c%c%c%c".encode("ASCII-8BIT"), x(challenge >> 24), x(challenge >> 16), x(challenge >> 8), x(challenge >> 0))

挑战是前面代码中定义的整数。x 是一个接受整数参数并返回整数的方法。

我不希望任何人为我将其转换为 c#,只是一个解释就可以了。谢谢。

4

2 回答 2

3

>>二进制右移运算符。

左操作数的值向右移动右操作数指定的位数。

这可能会有所帮助:Rotate Bits Right operation in Ruby

于 2012-10-25T10:22:11.703 回答
2

右移位,右边的数字>>表示移位的次数。

C# 也有>>运算符,所以翻译应该很简单。

于 2012-10-25T10:22:27.177 回答