请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
public static int hammingWeight(int n) {
int count = 0;
//将整形转换为无符号的long形
long n1 = Integer.toUnsignedLong(n);
while(n1 > 0){
if(n1 % 2 != 0){
count++;
}
n1 /= 2;
}
return count;
}
今天提交错误次数有点多
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof