gpt4 book ai didi

javascript - 我需要添加多少才能获得 1 字节 float 的无穷大

转载 作者:行者123 更新时间:2023-11-29 21:14:20 24 4
gpt4 key购买 nike

我试图了解由于溢出,我需要添加多少才能获得 Infinity。我已经读过 this answer。所以让我在这里澄清一下我的理解。为简化起见,我将使用 1 字节 float ,其中 4 位用于指数,3 位用于尾数:

0 0000 000

我可以在其中存储的最大正数是这样的:

0 1110 111

转换为科学记数法时:

   1.111 x 2^{7} = 11110000

我的理解是否正确,我应该添加以获得 Infinity 的最小数字是 00010000:

       11110000
+ 00010000
--------
1 00000000

据我所知,任何小于 00010000 的值都不会导致溢出,结果将四舍五入为 11110000。但是 00010000 是浮点格式的 0 0000 001,它是数字 1。那么仅添加 1 是否足以导致溢出?

最佳答案

答案在the other answer to the question you link to中给出.舍入到无穷大的最小值是:

c = 27 × ( 2 − ½ × 21-4 ) = 1.9375 × 27 = 1.11112 × 27

所以你可以添加以获得无穷大的最小值是

cfmax = 1.11112 × 27 − 1.111 2 × 27 = 0.00012 × 27 = 23

如果我理解正确的话,您建议的格式中会有位模式 0 1010 000

更新:那么为什么是这个特殊的截止日期?

假设在这个上面还有另一个二进制数,那么下一个 float 就是

x = 1.0002 × 28

请注意,c 恰好是 xfmax 中间的值。换句话说,四舍五入为 x 的值被四舍五入为无穷大,但四舍五入为 fmax 的值仍然舍入到相同的值。

关于javascript - 我需要添加多少才能获得 1 字节 float 的无穷大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40102922/

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