美文网首页
如何判断一个数是否为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的幂

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

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

  • 快速判断x的幂——x进制法 2020-07-27(未允禁转)

    快速判断x的幂——x进制法 1.快速判断一个数是否为2的幂 思路:如果一个数是2的幂,那么它的二进制数一定只含有一...

  • 算法练习3:查看一个数是不是2的整数幂(巧用位运算)

    题目 给一个正整数,判断这个数是不是2的整数次幂,比如16 = 2^4,返回ture; 15非2的整数次幂,返回f...

  • 算法记录

    如何判断一个整数是否是2的整数次幂 如果一个整数是2的整数次幂,那么,一定其所拥有的bit,一定只有一位是1,其余...

  • 判断一个数为2的整数次幂

    方法一 解题思路:一个数为2的整数次幂,那么它必将被2整除代码如下: 以上算法时间复杂度为O(logn),但还有更...

  • 位运算的一些技巧

    判断一个数是不是2的整数次幂 对于2的整数次幂,2进制的形式的一个特点是只有一个1。我第一次遇到这个问题是在一个公...

  • 231-2的幂

    给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 这道题很巧妙,如果一个数字是 2 的幂次方的话,那么它的...

  • 判断一个正整数是否是2的整数次幂

    给定一个正整数n,如何最快速判断n是否是2的整数次幂第一种方法:将n除2,得到商和余数,若余数不为0,则不是;当商...

  • LeetCode 231. Power of Two

    题意:判断一个整数是否为2的次幂。解题:是2的次幂的整数为:1、2、4、8、16...其二进制表示都是1000.....

网友评论

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

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