求一个十进制数转化成二进制后bit为0或1的个数
1、首先解决bit为1的个数,函数如下:
int CountOneNum (int n)
{
int count = 0;
while (n)
{
n = n & (n - 1);
count ++;
}
return count;
}
2、求bit为0的个数,这种做法在复杂度上比(1)大,因为
1、首先解决bit为1的个数,函数如下:
int CountOneNum (int n)
{
int count = 0;
while (n)
{
n = n & (n - 1);
count ++;
}
return count;
}
2、求bit为0的个数,这种做法在复杂度上比(1)大,因为