x如果是2的若干次幂,那么它的二进制就只有一个1,转换成二进制就能看出来了
return !(x&(x-1));
另外,求1的个数的一种简便方法:
int func(int x)
{
int count = 0;
while(x)
{
count++;
x=x&(x-1);
}
return count;
}