Back to Blog

【面试】二进制妙用

1.求下面 函数 的返回值(微软)

int func( x )

{

int countx = 0;

while(x)

{

countx ++;

x = x&(x-1);

}

return countx;

}

思路:将x转化为2进制,看含有的1的个数。

假定x=6, 答案 为2;

假定x = 9999,答案为8。