法一:
移位+计数实现。
int BitCount(int x)
{
int k=0;
for(;x;x>>=1)
k+=x&1;
return k;
}
法二:
不断将最右边的1通过&操作变为0.即可统计出1的个数。
int BitCount(int x)
{
int k=0;
while(x)
{
k++;
x&=(x-1);
}
return k;
}
法一:
移位+计数实现。
int BitCount(int x)
{
int k=0;
for(;x;x>>=1)
k+=x&1;
return k;
}
法二:
不断将最右边的1通过&操作变为0.即可统计出1的个数。
int BitCount(int x)
{
int k=0;
while(x)
{
k++;
x&=(x-1);
}
return k;
}