题目描述
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
题目解析
【分析】 一个整数减1与该整数进行与运算,则把该整数最右边一个1变成0,重复进行该操作,执行到该数为0时,执行的次数就是该整数二进制中包含1的数量 【代码实现】
public int hammingWeight(int n
) {
int count
= 0;
while (n
!= 0){
++count
;
n
=(n
-1) & n
;
}
return count
;
}