public class Shift{
public static void shift1(){
int i = 0;
while(-1 << i != 0){
i++
}
}
public void shift2(){
for(int i=-1;i!=0;i<<=1){
System.out.println(i);
}
}
}
第一種方法進入無限循環,第二次迭代31次變爲0;爲什麼java在移位時只考慮右邊操作數的低位5位?關於移位運算符
'java只考慮移位時右操作數的低位5位。我無法理解這意味着什麼。可以請幫忙。 –