Floating point 试图理解IEEE双精度格式

Floating point 试图理解IEEE双精度格式,floating-point,ieee-754,Floating Point,Ieee 754,我目前正在研究数值分析,它引入了IEEE双精度标准 符号:1位 指数:11位(nmin=-1022,nmax=1023) 尾数:53(带有隐式前导位,因此只存储52) 我所困惑的是我们如何从这种格式中解读数字 对于普通数字,隐式前导1是整数的一部分还是分数的一部分 从我到目前为止的搜索结果来看,我认为前导1位于整数部分。然而,我使用的教科书提到了十进制机器编号,它使用了表示法0.d1d2…x 10^n,这让我想知道我是否遗漏了什么。为什么不编写一个程序?取你已经知道的数字(比如1/2),看看结果

我目前正在研究数值分析,它引入了IEEE双精度标准

符号:1位

指数:11位(nmin=-1022,nmax=1023)

尾数:53(带有隐式前导位,因此只存储52)

我所困惑的是我们如何从这种格式中解读数字

对于普通数字,隐式前导1是整数的一部分还是分数的一部分


从我到目前为止的搜索结果来看,我认为前导1位于整数部分。然而,我使用的教科书提到了十进制机器编号,它使用了表示法
0.d1d2…x 10^n
,这让我想知道我是否遗漏了什么。

为什么不编写一个程序?取你已经知道的数字(比如1/2),看看结果是什么。这有点含糊不清,因为你可以从一种格式(点前1位,点后52位)切换到另一种格式(点后53位,点前无),然后返回,而不影响通过简单地将指数调整+/-1来表示的值集。IEEE 754标准在其说明中使用了第一种格式(见IEEE 754-2008第3.4节);C标准使用第二个。(参见例如C99 5.2.4.2.2p2.)。。。所以答案取决于你得到的其他信息:比如,一旦你得到了指数和有效位,你该如何处理它们。如果(似乎很可能)您使用的是IEEE 754-2008文档中的公式,那么是的,隐式前导1位是点之前的第一位;i、 e,整数的一部分。@MarkDickinson我明白了。谢谢你的澄清。我没有意识到我可以检查C标准。