【发布时间】:2021-10-28 15:46:55
【问题描述】:
MDN Web Docs 是指Number.MAX_SAFE_INTEGER 常量代表 JavaScript 中的最大安全整数,其值为 2^53 - 1。
我的问题:Number.MAX_SAFE_INTEGER 在32 位 计算机中也有(2^53 - 1) 的值吗?
如果是,它具有相同的值,JavaScript 如何将这个数字 (2^53 - 1) 存储在 32 位中?!
【问题讨论】:
-
是的。多字节,多指令
-
根据语言规范,数字是 64 位双精度浮点值。在 32 位 CPU 上符合标准的 JavaScript 实现必须以某种方式处理这个问题。如何?这取决于实施者。
-
另外,你为什么在乎?您是否遇到了一些具体问题?
-
计算机支持双精度浮点已有几十年了,早在 64 位处理器出现之前。它们只是将它们存储在两个 32 位字中。
标签: javascript computer-science bit 32bit-64bit