Könnte jemand bitte erklären, warum sich diese beiden Java-Codes anders verhalten? Der erste zählt korrekt die Anzahl der Bits, aber der zweite zeigt nur 1 oder 0 für Zahlen ungleich Null an. Ich verstehe nicht was passiert.Verwendung von bitweisem & operator und + in Java mit inkonsistenten Ergebnissen
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..ich verstehe jetzt. groß! Vielen Dank :) – Shimano