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.LOG2E
1 / 的常数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;
};
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Math.log2' in that specification. | Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262)The definition of 'Math.log2' in that specification. | Draft | |
浏览器兼容性
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 38 | 25 | (Yes) | (No) | 25 | 7.1 |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | 25 | (No) | (Yes) | 8 |