题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
int NumberOf1(int n) {
/*从右往左依次消去1 消去的法则是n=n&(n-1) 每进行依次这样子的操作就加1 */
int count = 0;
while(n){
count ++;
n = n & (n-1);
}
return count;
}