1.以下代码结果是多少?
#include <iostream>
using namespace std;
int func(int x)
{
int count=0;
while(x)
{
count ++;
x=x&(x-1);
}
return count;
}
int main(){
cout<<func(9999)<<endl;
return 0;
}
A.8 B.9 C.10 D.11
参考答案:A。
解析,每当x与(x-1)&运算,即消去x化成二进制后中的一个‘1’‘。因此,func函数就是计算参数x中包含1的个数。选A