【发布时间】:2017-12-18 12:28:17
【问题描述】:
正如问题here 所述,即使是最新的 Ecmascript 8 也不支持 64 位整数。
但是 bigInt 的 stage 3 proposal 看起来很有希望,我希望它很快就会被添加到 Js 规范中。
然而,即使按照提案,我们也必须使用特殊的构造函数来声明大数。 (Q1)背后的技术原因是什么,无法以一般方式表示大数字?
let bigNum = 2 ** 64 // Why can't JS do this without losing precision? (at least in future)
我知道 JavaScript 使用 IEEE-754 双精度(64 位)浮点表示所有数字,这会导致问题。
(Q2) 为什么 Javascript 不能使用其他一些不会丢失精度的标准来表示所有数字?
(Q3)如果 Javascript 真的这样做会出现什么问题?
编辑:正如 T.J 所说,我们可以使用后缀代替构造函数,但我仍然觉得这不完全是 一般表示法
【问题讨论】:
标签: javascript 64-bit ecmascript-next