按位与的技巧

n&(n-1)作用:将n的二进制表示中的最低位为1的改为0

1、判断一个数是否为2的方幂

n > 0 && ((n & (n - 1)) == 0 )

2、求某一个数的二进制表示中1的个数

while (n >0 ) {
      count ++;
      n &= (n-1);
}

3、计算N!的质因数2的个数。

N - (N二进制表示中1的个数)
posted @ 2020-05-21 08:42  ZC_Wang  阅读(132)  评论(0编辑  收藏  举报