1、前言

2、思路
使用逐位判断的方法,将32数字向右移位,然后与1相&。
如果 n 的二进制为最后一位是1,则 n & 1 = 1;如果 n 的二进制为最后一位是0,则 n & 1 = 0;
3、代码
public int hammingWeight(int n) {
int ans = 0;
for(int i = 0; i < 32; i++){
ans += (n >> i) & 1;
}
return ans;
}
网友评论