/*
*
* 二进制中1的个数
* 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
*
* 把一个整数减去1,再和原整数做与运算,会把该整数最右边的一个1变成0.
* 那么一个整数的二进制表示中有多少个1,就可以进行多少次运算。
* */
public class Offer11 {
public int NumberOf1(int n) {
int count=0;
while(n!=0) {
count++;
n=n&(n-1);
}
return count;
}
}
剑指Offer11——二进制中1的个数
最新推荐文章于 2023-04-07 08:59:12 发布