题解 | #二进制中1的个数#
二进制中1的个数
http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8
public:
int NumberOf1(int n) {
int cnt=0;
//我们可以发现1100010和1100001 相与&后是1100000
//1011111和和1100000 &的结果是1000000
//每相与一次就会少一个1,通过这个方法可以计算1的个数
while(n!=0){
cnt++;
n=n&(n-1);
}
return cnt;
}
};
