metadata
title: Math.log2()
short-title: log2()
slug: Web/JavaScript/Reference/Global_Objects/Math/log2
page-type: javascript-static-method
browser-compat: javascript.builtins.Math.log2
sidebar: jsref
The Math.log2() static method returns the base 2 logarithm of a number. That is
{{InteractiveExample("JavaScript Demo: Math.log2()")}}
console.log(Math.log2(3));
// Expected output: 1.584962500721156
console.log(Math.log2(2));
// Expected output: 1
console.log(Math.log2(1));
// Expected output: 0
console.log(Math.log2(0));
// Expected output: -Infinity
Syntax
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 {{jsxref("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 {{jsxref("Math.LOG2E")}}, which is 1 / {{jsxref("Math.LN2")}}.
Examples
Using Math.log2()
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
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Polyfill of
Math.log2incore-js - {{jsxref("Math.exp()")}}
- {{jsxref("Math.log()")}}
- {{jsxref("Math.log10()")}}
- {{jsxref("Math.log1p()")}}
- {{jsxref("Math.pow()")}}