int fun(int x){
int count = 0;
while(x){
count++;
x = x &(x-1);
}
return count;
}
int main(){
cout << "fun(2015)=" << fun(2015)<答案:2015=11111011111共10个1.
x每次与x-1进行一次与(&)操作,就会导致x二进制中的1减少一个。 通过函数func可知,x二进制中有多少位1就会进行多少次与计算。