Check if a number is a power of 2
Use the bit trick n & (n − 1) on a positive integer.
function isPowerOfTwo(n) { return n > 0 && (n & (n - 1)) === 0; }
Input & expected output
Input
64Expected output
trueThe edge case
Input
0Expected output
falseKnow the limits
- The original returned true for 0; this version requires n > 0.
- Bitwise operators use 32-bit integers, so the lab accepts 0 to 2^30.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Check if a number is a power of 2 from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Requires n > 0; the original returned true for 0. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Check whether all values are equal — Compare every item with the first using Object.is.
- Check whether an object is empty — Check for own enumerable string keys on a JSON object.
- Check whether an integer is even — Test parity for safe integers, including zero and negative values.