我正在查看1750A format webpage中的一些示例,而某些示例确实没有任何意义。如果有人不熟悉1750A格式规范,我将其放在其底部。

以1750A格式网页的表3为例:

.625x2^4 = 5000 00 04

二进制5000 00 040101 0000 0000 0000 0000 0000 0000 0100

如果将其转换为十进制,则不等于10,即.625x2 ^ 4。也许我转换不正确。

取尾数101 0000 0000 0000 0000 0000并减去1得到100 1111 1111 1111 1111 1111。然后翻转这些位,得到011 0000 0000 0000 0000 0000。将小数点后移四位(因为我们的指数0100为4),所以我们为0110.0000 0000 0000 0000 000。等于6.0,不是.625x2 ^ 4。

我相信实际值应为0011 0000 0000 0000 0000 0000 0000 0100030000004十六进制。

谁能证实我的怀疑,即上面的1750A格式页面的表3中该值的标签不正确吗?

谢谢

最佳答案

作为explained previously,符号+尾数被解释为-1和+1之间的2的补码值。

在您的情况下,它是0.101000000 ...(以2为基)。这是1/2 + 1/8 = 0.625(以10为基)。

关于c - MIL-STD-1750A到十进制转换的示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14611450/

10-10 14:13