思路分析:
把一个整数减去1,在和原来的整数做与运算,会把该整数最右边一个1变成0。那么一个二进制数中有多少个1,
就可以进行多少次操作。
代码:
int NumberOf1(int n)
{
int count = 0;
while (n )
{
count++;
n = (n -1)&n;
}
return count;
}
转载于:https://blog.51cto.com/mnt3918290/1755584
思路分析:
把一个整数减去1,在和原来的整数做与运算,会把该整数最右边一个1变成0。那么一个二进制数中有多少个1,
就可以进行多少次操作。
代码:
int NumberOf1(int n)
{
int count = 0;
while (n )
{
count++;
n = (n -1)&n;
}
return count;
}
转载于:https://blog.51cto.com/mnt3918290/1755584