按位与的技巧

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  wzzc-dev  阅读(141)  评论(0)    收藏  举报