猿问

JS的数不是使用64位浮点数表达吗?为什么ES6会有Math.clz32()这个方法

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

www说

以下摘自ES6规范:Math.clz32(x):WhenMath.clz32iscalledwithoneargumentx,thefollowingstepsaretaken:1.LetnbeToUint32(x).2.Letpbethenumberofleadingzerobitsinthe32-bitbinaryrepresentationofn.3.Returnp.也就是说,Math.clz32()会先把参数转换为无符号32位的内部表示,再返回前导0的个数。

慕侠2389804

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

相关分类

JavaScript
我要回答