gpt4 book ai didi

Javascript 数字获取另一个值

转载 作者:行者123 更新时间:2023-11-30 08:04:57 24 4
gpt4 key购买 nike

我最近发现了一个奇怪的 JS 代码片段,但是我不确定它是否是一个错误或者它是否有一些逻辑。

试试这个号码:9000000022903136*8*警告它,控制台记录它,将它分配给一个变量。您将获得值 9000000022903136*0*。问题是为什么?这是一个错误吗?

我还注意到你从 90000000229031352 得到 90000000229031360 到 90000000229031368,对于 90000000229031351 你得到 90000000229031340,对于 9000000022903 1369 你得到 90000000229031369。

这发生在:Chrome、FF、Node.js

最佳答案

嗯,计算机中的数字是有限的(大部分)。你在这里看到的是一个 float /双重存储数的经典溢出,它可以包含一些数字,以及它的指数,例如(实际实现不同,当然):

123 存储为 [1 2 3],指数 2。1.23 存储为 [1 2 3],指数 0。

因此,90000000229031368 存储为:

[9 0 0 0 0 0 0 0 2 2 9 0 3 1 3 6],指数 16。如您所见,最后 8 位没有更多空间,因此设置 你读过了

其他示例可能看起来自相矛盾,但请记住,计算机不会以 10 为基数存储这些数字,而是以 2 为基数。

使用关键字阅读有关此主题的更多信息:Float float (例如在维基百科上)。

关于Javascript 数字获取另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19533604/

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