为了账号安全,请及时绑定邮箱和手机立即绑定

为什么ES6会有Math.clz32()这个方法

为什么ES6会有Math.clz32()这个方法

一只名叫tom的猫 2018-07-07 15:29:06
今天在读阮一峰老师ES6入门时,遇到这个Math.clz32()方法,书上说“ JS的整数使用32位二进制形式表示,Math.clz32()返回一个数的32位无符号整数形式有多少个前导0。”这我就比较纳闷了,不是说JS的数字基本都是按照IEEE754标准的64位浮点数表达的吗?到底JS的整数是怎么表达的呢?我是非计算机专业,比较疑惑,请大牛简单解答一下。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

计算机领域内的整数(定点数)和浮点数都只是一种对于数字的表示法,你可以理解成科学计数法的那种记法,所以也可以用浮点数表示法来表示一个整数。不要以为浮点数就一定是小数。

查看完整回答
反对 回复 2018-07-14
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

以下摘自ES6规范:

Math.clz32(x):

When Math.clz32 is called with one argument x, the following steps are taken:
1. Let n be ToUint32(x).
2. Let p be the number of leading zero bits in the 32-bit binary representation of n.
3. Return p.

也就是说,Math.clz32( )会先把参数转换为无符号32位的内部表示,再返回前导0的个数。


查看完整回答
反对 回复 2018-07-14
  • 2 回答
  • 0 关注
  • 576 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信