有人能解釋爲什麼這兩部分Java代碼的行爲不同?第一個正確計數位數,但第二個只顯示1或0非零數字。我不明白髮生了什麼事。在Java中使用按位&運算符和+給出不一致的結果
public static void printNumUnitBits(int n){
int num=0;
for(int i=0;i<32;i++){
int x=n&1;
num=num+x;
n=n>>>1;
}
System.out.println("Number of one bits:"+num);
}
public static void printNumUnitBits(int n){
int num=0;
for(int i=0;i<32;i++){
num=num+n&1;
n=n>>>1;
}
System.out.println("Number of one bits:"+num);
}
哦..我現在明白了。大!非常感謝:) – Shimano