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

JavaScript用Math.log2方法求对数

1. 基本概念

Math.log2()方法计算一个数的以2为底数的对数,该方法的名称中的数字2即表示该方法所求的对数是以2为底数的。它的语法形式如下所示:

Math.log2(x);

因为该方法就是要计算其参数x的以2为底的对数,因此x必须是一个数字,即它属于Number类型。如果x不是数字,那么它会先被自动转换为数字。

在中学时我们学过对数函数的定义域为(0,+∞),值域为(-∞,+∞);log2(x)的函数图像如图1所示。

图1 log2(x)的函数图像

具体来说,Math.log2()方法的结果由以下规则决定;结合log2(x)的函数图像以及JavaScript的5个特殊数字(NaN、+0、-0、正无穷和负无穷),可以很容易地理解这些规则。

1. 如果x是NaN,那么结果是NaN;

2. 如果x小于0,那么结果是NaN;因为此时x在函数的定义域之外;

3. 如果x是零(包括+0和-0),那么结果是负无穷(-Infinity);

4. 如果x是1,那么结果是+0;

5. 如果x是正无穷(+Infinity),那么结果是正无穷;

6. 其余情况下,x是区间(0,+∞)中的一个普通数字,结果就是x的以2为底的对数。

对于规则3,从数学意义上来说其实零也在log2(x)的定义域之外。但JavaScript这样规定也有它的道理,那就是当x趋近于零时,log2(x)趋近于负无穷。如果你传递的x不是数字,那么以上这些规则中所说的x的值指的是它被转换为数字后的值。

2. 示例

本小节展示用不同参数调用Math.log2()方法时的返回值,以下代码的执行结果如图2所示。

图2 示例代码的执行结果

(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210209A09JME00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券