gpt4 book ai didi

javascript - 为什么这是真的 : parseInt(1111111111111111, 2) === parseInt(11111111111111111,2)

转载 作者:数据小太阳 更新时间:2023-10-29 04:12:38 26 4
gpt4 key购买 nike

这个问题纯属好奇。

通过控制台

parseInt(1111111111111111,2) // 16 1's

返回

65535

parseInt(11111111111111111,2) // 17 1's

返回

65535

还有

//          16 1's                           17 1's
if(parseInt(1111111111111111,2) === parseInt(11111111111111111,2))

返回

true

诀窍在哪里?

谢谢

最佳答案

11111111111111111 是十进制数字字面值,表示对于 Javascript 而言太大而无法精确编码的数字。

parseInt(, 2) 将在第一个不是 10 的字符处停止,因此一旦精度达到就停止解析降解。

将其更改为字符串即可。

关于javascript - 为什么这是真的 : parseInt(1111111111111111, 2) === parseInt(11111111111111111,2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479214/

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