我希望向非专业人士描述如何将数字存储在 javascript 中。以下说法是否准确:Very large numbers in javascript are often approximated.However,precision should be guaranteed to 16 digits.For example, 123455.373849 can always be represented accurately,but the number 9,007,199,254,740,991,293 may not be.有没有更好的方法来解释它,或者上面的陈述有什么不准确之处?
1 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
16位数?不,不是真的。最多可以准确表示 53 位整数,并且每个可以表示为(53bit) * 2 ** (10bit).
此外,JavaScript 中没有 64 位整数,有 64 位浮点数(其中只有 53 位包含整数部分),以及可以包含更多位的 BigInt。
javascript 中非常大的数字通常是近似的。
有点,非常大的整数只能被近似(或者你使用 BigInts),但是即使是小的非整数,例如 0.1 也不能精确表示。
比如123455.373849总是可以准确表示
不,可能不是。
但数字 9,007,199,254,740,991,293 可能不是。
是的,这远远超过 2 ** 53 - 1。
添加回答
举报
0/150
提交
取消
