>> n带符号右移n位,如果是负数,就高位补 1 ; 正数,高位就补 0
>>>n 无符号右移n位 高位补0
<<n是左移n位
public class Solution {
public int hammingWeight(int n) {
int ans = 0;
for (int i = 0; i < 32; i++) {
//System.out.println((n>>i)&1+'\n');
ans += ((n >> i) & 1); // 1 可以看成000000000000000000001 ,任何数与1做与运算都是只求出可该数最低位是0还是1
}
return ans;
}
}