Math.log2()

The Math.log2() static method returns the base 2 logarithm of a number. That is

x > 0 , 𝙼𝚊𝚝𝚑.𝚕𝚘𝚐𝟸 ( 𝚡 ) = log 2 ( x ) = the unique  y  such that  2 y = x \forall x > 0,;\mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique } y \text{ such that } 2^y = x

Try it

Syntax

js
Math.log2(x)

Parameters

x

A number greater than or equal to 0.

Return value

The base 2 logarithm of x. If x < 0, returns NaN.

Description

Because log2() is a static method of Math, you always use it as Math.log2(), rather than as a method of a Math object you created (Math is not a constructor).

This function is the equivalent of Math.log(x) / Math.log(2). For log2(e), use the constant Math.LOG2E, which is 1 / Math.LN2.

Examples

Using Math.log2()

js
Math.log2(-2); // NaN
Math.log2(-0); // -Infinity
Math.log2(0); // -Infinity
Math.log2(1); // 0
Math.log2(2); // 1
Math.log2(3); // 1.584962500721156
Math.log2(1024); // 10
Math.log2(Infinity); // Infinity

Specifications

Specification
ECMAScript Language Specification
# sec-math.log2

Browser compatibility

BCD tables only load in the browser

See also