--- title: Math.log2() slug: Web/JavaScript/Reference/Global_Objects/Math/log2 translation_of: Web/JavaScript/Reference/Global_Objects/Math/log2 ---
A função Math.log2()
retorna o logaritmo de base 2 de um número, que é
Math.log2(x)
x
Um número.O logaritmo de base 2 de um número. Caso o número seja negativo, {{jsxref("NaN")}} é retornado.
Caso o valor de x
seja menor que 0, então o retorno será sempre {{jsxref("NaN")}}.
Por log2()
ser um método estático de Math
, você sempre o usará como Math.log2()
, ao invés de usá-lo como método de um objeto Math
criado (Math
não é um construtor).
Esta função é equivalente a Math.log(x)/Math.log(2)
. Para log2(e) use a constante {{jsxref("Math.LOG2E")}} que é 1 / {{jsxref("Math.LN2")}}.
Math.log2()
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
Este Polyfill simula a função Math.log2
. Note que é retornado um valor não prcesiso Observe que é retornado valores imprecisos em algumas entradas (like 1 << 29), envolva em {{jsxref("Math.round()")}} se estiver trabalhando com máscaras de bits.
Math.log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; };
Especificação | Status | Comentário |
---|---|---|
{{SpecName('ES2015', '#sec-math.log2', 'Math.log2')}} | {{Spec2('ES2015')}} | Initial definition. |
{{SpecName('ESDraft', '#sec-math.log2', 'Math.log2')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Math.log2")}}