public static int NumberOf1(int n) {
int count = 0;
while (n != 0) {
++count;
n = (n - 1) & n;//n与n-1位操作一次二进制数减去一个1,每次循环count多一个1
}
return count;//最终二进制的1全部体现在count上
}
public static void main(String[] args) {
int n = 8;
System.out.println(n + "的二进制中1的个数:" + NumberOf1(n));
}
}
输出:
1