int fn(unsigned int x)
{
int count = 0 ;
for(; x!=0; x&=(x-1))
count ++;
return count;
}
我在编译器中试过了,但无法弄清楚发生了什么。我认为这与 x
中的位数有关,但是什么?
最佳答案
这是一个bit trick . :)
您要返回设置为 1
的位数。
关于c++ - 以下函数返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876841/