思路:整数n: n&(n-1) 相当于把整数的二进制表示中的最右边一个1变为0;
public class Solution {
public int NumberOf1(int n) {
int count = 0;
while(n != 0){
count ++;
n = (n - 1) & n;
}
return count;
}
}
延伸:(&:遇0为0;|:遇1为1;^:相同为0,不同为1)