AbdulElahGwaith's picture
Upload folder using huggingface_hub
780c9fe verified
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

βˆ€x>0,π™ΌπšŠπšπš‘.πš•πš˜πšπŸΈ(𝚑)=log2(x)=the unique y such that 2y=x\forall x > 0,\;\mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique } y \text{ such that } 2^y = x

{{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.log2 in core-js
  • {{jsxref("Math.exp()")}}
  • {{jsxref("Math.log()")}}
  • {{jsxref("Math.log10()")}}
  • {{jsxref("Math.log1p()")}}
  • {{jsxref("Math.pow()")}}