输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
public class Solution {
public int NumberOf1(int n) {
int count = 0;
//n是正数
while(n > 0){
n &= (n - 1);
count++;
}
//n是负数,也可以用一个while(n != 0)包含正负两种情况
while(n < 0){
n &= (n - 1);
count++;
}
return count;
}
}