【发布时间】:2017-05-31 08:07:32
【问题描述】:
在 JavaScript 中,我很想知道用科学记数法表示的最大可能的数字是多少,结果却没有得到“无穷大”,所以我写了一个小程序,发现就是这个:
17976931348623158079372897140530341507993413271003782693617377898044496829276475094664901797758720709633028641669288791094655554785194040263065748867150582068190890200070838367627385484581771153176447573027006985557136695962284291481986083493647529271907416844436551070434271155969950809304288017790417449779
可简写为1.7976931348623157e+308。
我的问题是,是什么让这个特定数字在 JavaScript 中成为可能的最大值?它是硬件相关的(可能最多一个 64 位?)还是特定于语言?为什么 308 是 10 的最大可用功率?
另外,它在其他语言中有何不同?
【问题讨论】:
-
tc39.github.io/ecma262/2017/… BTW 你可以简单地使用
Number.MAX_VALUE来获得这个值 -
你还在考虑哪些其他语言?
-
@YuryTarabanko 无赖。好吧,反正这样做很有趣:)
-
@Hankrecords 考虑中间值。它们在记忆中是如何表现的?所以你有 308 个数字作为字符串,但是当你将它转换为数字引擎时使用 53 位来存储 308 个“正确”数字,对吧?
-
@Hankrecords,我误解你的问题了吗?
标签: javascript