gpt4 book ai didi

javascript - 为什么这些二进制表示会产生相同的数字?

转载 作者:行者123 更新时间:2023-11-29 10:33:45 25 4
gpt4 key购买 nike

根据文档,可以使用 parseInt(string, base) 将数字的二进制表示形式转换为数字本身。 .

例如,

var number = parseInt("10100", 2);
// number is 20

但是,请看下一个示例:

var number = parseInt("1000110011000011101000010100000110011110010111111100011010000", 2);
// number is 1267891011121314000

var number = parseInt("1000110011000011101000010100000110011110010111111100100000000", 2);
// number is 1267891011121314000

这怎么可能?

请注意,二进制数几乎相同,除了最后 9 位。

最佳答案

1267891011121314000 远远超过 Number.MAX_SAFE_INTEGER (9007199254740991)。它无法在内存中安全地表示它。

看看这个经典的例子:

1267891011121314000 == 1267891011121314001  // true

关于javascript - 为什么这些二进制表示会产生相同的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40350450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com