判断一个数是否为2的次方数

    我们可以发现2的次方数n和n-1的二进制对应如下:

         2               10             01

         4               100            011

         8               1000          0111

         16              10000        01111

        。。。。。。。。。。。。。。。

即n&(n-1)=0

而要确定n是2的几次方则直接数>>1右移次数即可

猜你喜欢

转载自blog.csdn.net/acdalao/article/details/80567562