【发布时间】:2021-10-15 18:01:00
【问题描述】:
Number.MAX_VALUE 的值是否仅限于数据类型 Number 的数字?
BigInt 的上界不一样吗?
还有一个问题... BigInt 是否表示 64 位格式 IEEE-754 的数字? 由于 BigInt 格式代表的是大数,那么 BigInt 值是否可以占用超过 64 位的空间?
【问题讨论】:
-
MDN 上的第一句:"
BigInt是一个内置对象,其构造函数返回一个 bigint 原语 - 也称为BigInt值,或者有时只是一个 @987654328 @ - 表示大于2^53 - 1(Number.MAX_SAFE_INTEGER) 的整数,这是 JavaScript 可以用数字原语表示的最大数(或数值)。可以使用 BigInt 值对于任意大的整数。” -
"在 JavaScript 中,
BigInt是一种数值数据类型,可以在arbitrary precision format 中表示整数。" -
BIgInt 没有指定上限,详情请参考stackoverflow.com/questions/53335545/…
-
@Andreas:MDN 的措辞令人惊讶地不准确:“JavaScript 可以用数字原语表示的最大数字”是
Number.MAX_VALUE,大约是 2^1024。MAX_SAFE_INTEGER是最大的整数(或“整数”)数,仍可以增加1而不会丢失精度。 MAX_SAFE_INTEGER 和 MAX_VALUE 之间的数值将被四舍五入(到 53 个有效位)。
标签: javascript numbers bigint