gpt4 book ai didi

floating-point - 为什么我们偏向 float 的指数?

转载 作者:行者123 更新时间:2023-12-03 11:54:55 26 4
gpt4 key购买 nike

我试图用二进制数字的浮点表示法来解决问题,但是无论从哪里看,我都找不到一个很好的答案。

为什么指数有偏见?

好的旧的可靠的二进制补码方法有什么问题?

我试图看一下有关该主题的Wikipedia文章,但是它所说的只是:“带符号值的通常表示方式会使比较难。”

最佳答案

IEEE 754编码具有一个方便的属性,即可以通过按字典顺序简单地比较相应的位串,或者等效地,通过将​​这些位串解释为无符号整数并比较那些整数,来在两个正非NaN数字之间执行顺序比较。这适用于从+0.0到+ Infinity的整个浮点范围(然后,可以轻松扩展比较以考虑符号)。因此,例如在IEEE 754二进制64格式中,1.1被编码为位字符串(msb在前)

0011111111110001100110011001100110011001100110011001100110011010

0.01被编码为位字符串
0011111110000100011110101110000101000111101011100001010001111011

在字典上出现在 1.1的位字符串之前。

为此,指数较小的数字需要先比较指数较大的数字。一个有偏的指数使该工作有效,而用二进制补码表示的一个指数将使比较更复杂。我相信这就是Wikipedia评论适用的内容。

另一个观察结果是,通过选择编码,浮点数 +0.0被编码为完全由零组成的位串。

关于floating-point - 为什么我们偏向 float 的指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19864749/

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