求一个数中 二进制表示的时候 1的个数
int i ;
int cout = 0;
while (i) {
cout++;
i=i&(i-1);
}
判断一个数二进制中多少个0 同上
判断一个数是否是2个n次方
int integr ;
if((integer&(integer-1)) == 0)
printf(“ok”);
integer – 1 将二进制数据最后一位变成0
逻辑与判断 integer 的最后一位是不是0
如果是 则 integer = 2×(n)2 + 2的0次幂
所以是2的n次方