0

我正在尝试对 Java 中的 int 进行向右旋转(桶形移位),例如

Input:  0000 0000 0110 1001
Output: 1000 0000 0011 0100

>>我知道我可以进行右移(

我认为有一种方法,java.lang.Math但我正在寻找仅使用轮班的方法。

有任何想法吗?

4

2 回答 2

4

我不确定这是否有一个单一的操作。但是像:

int x = (x >> 1) | (x << 31)  // or 15 if you really did mean 16-bit

会成功的。

于 2011-03-01T22:23:39.347 回答
0
int rotated_by_one = ((value & 1)<<15) | (value >> 1)
于 2011-03-01T22:23:15.943 回答