次のコードが与えられます:
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ループからの)2番目の出力は0です。
わかりません。私には同じように見えます。どちらの方法でも「1」桁(lsb)が32回シフトし、結果が異なります。
誰か説明できますか?
前もって感謝します。