30秒学会 JavaScript 片段 · 2018年8月31日

30秒学会 JavaScript 片段 – isPowerOfTwo

Returns true if the given number is a power of 2, false otherwise.

Use the bitwise binary AND operator (&) to determine if n is a power of 2.
Additionally, check that n is not falsy.

代码片段

const isPowerOfTwo = n => !!n && (n & (n - 1)) == 0;

使用样例

isPowerOfTwo(0); // false
isPowerOfTwo(1); // true
isPowerOfTwo(8); // true