/**
* 知识点:n&(n-1) 去掉n的二进制位中的最后一个1 也就是通过位运算把n的二进制位中的最后一个1变为0
* 二进制中1的个数
* 描述;输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
*
* @param n
* @return
*/
public int NumberOf1(int n) {
int count = 0;
while (n != 0) {
count++;
n = (n - 1) & n;
}
return count;
}
二进制中1的个数(剑指Offer)
最新推荐文章于 2019-10-22 01:15:23 发布