判断一个数 是否 是 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 |