首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

语法

代码语言:javascript
复制
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()

代码语言:javascript
复制
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()如果使用位掩码,则换行。

代码语言:javascript
复制
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

扫码关注腾讯云开发者

领取腾讯云代金券