给定以下代码:
public class Something {
public static void main(String[] args) {
int num = 1;
num <<= 32;
System.out.println(num);
num = 1;
for (int i = 0 ; i < 32; i++)
num <<= 1;
System.out.println(num);
}
}
第一个输出(来自 num <<= 32)是 1。
第二个输出(来自 for 循环)是 0。
我不明白..它对我来说看起来一样..两种方式都将“1”数字(lsb)移动了32次,结果不同。
谁能解释一下?
提前致谢。