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

使用按位与 & 的方式判断:

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

位运算 &:

当对一对数位执行位运算 AND (&)时,如果数位均为 1 则返回 1。

单位示例:

运算结果
0 & 0 0
0 & 1 0
1 & 0 0
1 & 1 1

四位示例:

运算结果
1111 & 0000 0000
1111 & 0001 0001
1111 & 0010 0010
1111 & 0100 0100

原文地址:https://www.cnblogs.com/momo798/p/11770092.html