【发布时间】:2014-10-14 10:53:18
【问题描述】:
我有一些疑问,试图更好地理解浮点数在内部是如何表示的,也许你可以帮助我。所以,我主要研究 IEEE 754 规范,它说浮点数应该有:
1 bit for significand's sign
8 bits for exponent
23 bits for significand precision
(I'm taking the Single-precision format here)
正如你所看到的,它说 1 位是专门为有效数字 sign 保留的,所以它让我认为有效数字实际上是使用 sign-and-magnitude 表示的strong> 表示,是否正确? (说真的,我很难在互联网上找到此类信息)如果答案是肯定的,那么为什么选择符号和大小表示而不是二补码?如果答案是否定的,那么为什么要为符号保留 1 位?
关于指数,我对它的表示也有一些疑问。我在 book/wiki 中读到,指数是一个带有偏差的无符号数。但是,显然指数必须同时表示正数和负数,所以我的问题是:根据应用程序可以对指数进行不同的解释?例如,如果我需要将指数用作双 -补数,如果是无符号数怎么办?
非常感谢!我有点迷茫,所以如果你能给我一个完整的解释,我将不胜感激!
【问题讨论】:
-
很少需要实际查看浮点数的内部结构。您可以使用它们,只依靠经过良好测试的软件来进行转换,并依靠硬件来对它们进行算术运算。有关如何处理指数的说明,请参阅Exponent Encoding,并附有示例。
标签: floating-point