Math.log2

Math.log2

Math.log2() 函数返回一个数字以 2 为底的对数.

∀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

语法

Math.log2(x)

参数

x一个数值。

返回值

给定数字的基数2的对数。如果数字是负数,则返回NaN

描述

如果传入的参数小于 0, 则返回 NaN.

因为log2()Math的一个静态方法,用作Math.log2(),而不是你创建的Math对象的方法(Math不是一个构造函数)。

这个函数相当于Math.log(x)/ Math.log(2)。对于log2(e)使用Math.LOG2E1 / 的常数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

Polyfill

这个Polyfill模拟Math.log2功能。请注意,它在某些输入(比如1 << 29)上返回不精确的值,Math.round()如果使用位掩码,则换行。

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

规范

SpecificationStatusComment
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Math.log2' in that specification.StandardInitial definition.
ECMAScript Latest Draft (ECMA-262)The definition of 'Math.log2' in that specification.Draft

浏览器兼容性

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support3825(Yes)(No)257.1

FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)25(No)(Yes)8