Java位运算符<&书信电报;

Java位运算符<&书信电报;,java,bit-manipulation,bit-shift,Java,Bit Manipulation,Bit Shift,有人能解释一下为什么以下按位表达式返回不同的结果: System.out.println((-1<<31)<<1); // it prints 0 System.out.println(-1<<32); // it prints -1 System.out.println((-1-1移位计数值采用模32。因此,第二个示例实际上与移位0相同。还有@Tunaki:是的,类似。

有人能解释一下为什么以下按位表达式返回不同的结果:

System.out.println((-1<<31)<<1);   // it prints 0
System.out.println(-1<<32);        // it prints -1

System.out.println((-1
-1移位计数值采用模32。因此,第二个示例实际上与移位0相同。

还有@Tunaki:是的,类似。