Check if a number is a power of 2

Use the bit trick n & (n − 1) on a positive integer.

JavaScript Version 1.0.0 · MIT · .md

check-if-a-number-is-a-power-of-2.js
function isPowerOfTwo(n) { return n > 0 && (n & (n - 1)) === 0; }

Input & expected output

Input

64

Expected output

true

The edge case

Input

0

Expected output

false

Know 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.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.