相关疑难解决方法(0)

Java中无符号右移运算符">>>"的目的是什么?

我理解Java中的无符号右移运算符">>>",但为什么我们需要它,为什么我们不需要相应的无符号左移运算符?

java programming-languages bit-manipulation

28
推荐指数
3
解决办法
2万
查看次数

Java:对负数进行右移

关于负数的右移操作我很困惑,这里是代码.

int n = -15;
System.out.println(Integer.toBinaryString(n));
int mask = n >> 31;
System.out.println(Integer.toBinaryString(mask));
Run Code Online (Sandbox Code Playgroud)

结果是:

11111111111111111111111111110001
11111111111111111111111111111111
Run Code Online (Sandbox Code Playgroud)

为什么要将负数移31而不是1(符号位)?

java bit-manipulation bit-shift bitwise-operators negative-number

24
推荐指数
2
解决办法
3万
查看次数

将m位设置为n位

我有一个32-bit数字而不使用for循环,我想将m位设置 n位.

例如:

m位可以是2nd5th9th10th.
n位可以是 22nd2711th位.

我假设(m <n).

请帮帮我.谢谢

c bit-manipulation

-1
推荐指数
1
解决办法
3759
查看次数