The Math.log2()
function returns the base 2 logarithm of a number, that is
Math.log2(x)
x
If the value of x
is less than 0, the return value is always NaN.
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).
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
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.
Math.log2 = Math.log2 || function(x) { return Math.log(x) / Math.LN2; };
Created by Mozilla Contributors, license: CC-BY-SA 2.5