我正在查看1750A format webpage中的一些示例,而某些示例确实没有任何意义。如果有人不熟悉1750A格式规范,我将其放在其底部。
以1750A格式网页的表3为例:.625x2^4 = 5000 00 04
二进制5000 00 04
是0101 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 01000
或30000004
十六进制。
谁能证实我的怀疑,即上面的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/