美文网首页
如何判断一个数是否为2的整数次幂

如何判断一个数是否为2的整数次幂

作者: McDu | 来源:发表于2021-04-17 10:14 被阅读0次

    如果一个整数是2的整数次幂,当它转化为二进制时,只有最高位是1,其他位都是0。

    十进制 二进制 是否为2的整数次幂
    8 1000B
    16 10000B
    32 100000B
    64 1000000B
    100 1100100B

    2的整数次幂一旦减1,它的二进制数字就全部变为1

    十进制 二进制 n&n-1 是否为2的整数次幂
    8 111B 0
    16 1111B 0
    32 11111B 0
    64 111111B 0
    100 1100000B 1

    0 和 1 按位与的结果是0,所以2的整数次幂和它本身减1的结果进行运算结果必定是0.

    function isPowerOf2(num) {
        return (num&num-1) === 0;
    }
    

    相关文章

      网友评论

          本文标题:如何判断一个数是否为2的整数次幂

          本文链接:https://www.haomeiwen.com/subject/pmjulltx.html