求二进制数中1的个数
编程之美中的一道题,有一个解法想不明白 该算法只考虑1的个数 代码如下:
int Count(BYTE v)
{
int num = 0;
while(v)
{
v &= (v-1);
num++;
}
return num;
}
在网上看了一下都只是把算法给出来都没有解释,哪位同学帮忙解释一下,想不明白.多谢
LTsir
10 years, 8 months ago