Math.log2()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

La función Math.log2() retorna el logaritmo base 2 de un número, esto es

x>0,Math.log2(x)=log2(x)=the uniqueysuch that2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique} ; y ; \text{such that} ; 2^y = x

Pruébalo

Syntax

Math.log2(x)

Parámetros

x

Un número.

Valor de retorno

El logaritmo base 2 del número usado como parámetro. Si el número es negativo, NaN será retornado.

Descripción

Si el valor de x es mejor a 0, el valor de retorno es siempre NaN.

Debido a que log2() es una función estática de Math, siempre debe ser usado como Math.log2(), en lugar de ser usado como un método del objeto Math (Math no es un constructor).

Esta función es equivalente a Math.log(x) / Math.log(2). Para log2(e) use la constante Math.LOG2E que es 1 / Math.LN2.

Ejemplos

Usando Math.log2()

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

Polyfill

This Polyfill emulates the Math.log2 function. Note that it returns imprecise values on some inputs (like 1 << 29), wrap into Math.round() if working with bit masks.

js
Math.log2 =
  Math.log2 ||
  function (x) {
    return Math.log(x) * Math.LOG2E;
  };

Especificaciones

Specification
ECMAScript Language Specification
# sec-math.log2

Compatibilidad con navegadores

BCD tables only load in the browser

See also