Czy ktoś mógłby wyjaśnić, dlaczego te dwa kody Java zachowują się inaczej? Pierwszy poprawnie liczy liczbę bitów, ale drugi wyświetla 1 lub 0 dla liczb niezerowych. Nie rozumiem co się dzieje.Używanie bitowego i operatora oraz + w Javie dającego niespójne wyniki
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);
}
Oh .. Teraz rozumiem. wspaniały! Dzięki za dużo :) – Shimano