使用JavaScript中的按位运算检查2的幂
我们需要编写一个JavaScript函数,该函数接受一个数字并确定其是否为2的幂。
例如-
f(23) = false f(16) = true f(1) = true f(1024) = true
方法-
二进制形式的2的幂总是只有一位。像这样-
1: 0001 2: 0010 4: 0100 8: 1000
因此,在检查了数字是否大于零之后,我们可以使用按位hack来测试仅设置了一位。如下所示-
num & (num - 1)
示例
以下是代码-
const num1 = 256;
const num2 = 1024;
const isPowerOfTwo = (num = 1) => {
if (num < 1) {
return false;
};
return (num & (num - 1)) === 0;
};
console.log(isPowerOfTwo(num1));
console.log(isPowerOfTwo(num2));
console.log(isPowerOfTwo(1));
console.log(isPowerOfTwo(23));输出结果
以下是控制台上的输出-
true true true false
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短