Luk*_*keH 27
JavaScript中的所有数字实际上都是符合IEEE-754标准的浮点数双精度数.这些具有53位尾数,其应该意味着具有约9千万亿或更小的大小的任意整数值 - 更具体地,9,007,199,254,740,991 - 将被准确地表示.
注意:在2018年,主浏览器和NodeJS也在使用新的Javascript原始类型BigInt,解决整数值大小的问题.
所有答案都部分错误 - 也许是由于新的 ES6/ES7 规范 - ,请阅读原因:
首先,在 JavaScript 中,数字的表示是2^53 - 1这对于@Luke 答案是正确的,我们可以通过运行来证明Number.MAX_SAFE_INTEGER它会显示一个大数字,然后我们log2来确认位数是相同 :
Number.MAX_SAFE_INTEGER
9007199254740991
Math.log2(9007199254740991)
53
Run Code Online (Sandbox Code Playgroud)
但是,按位运算是在 32 位(4 个字节)上计算的,这意味着如果您超过 32 位移位,您将开始丢失位。
欢迎使用 JavaScript!
| 归档时间: |
|
| 查看次数: |
11529 次 |
| 最近记录: |