3

我正在尝试将基于 IEEE 的浮点数转换为 MIL-STD 1750A 浮点数。

我附上了两者的规范: 替代文字

我了解如何按照维基百科上的示例以 IEEE 格式分解浮点 12.375

但是,我不确定我对 MIL-STD 的解释是否正确。

12.375 = (12)b10 + (0.375)b10 = (1100)b2 + (0.011)b2 = (1100.011)b2 (1100.011)b2 = 0.1100011 x 2^4 => 指数,E = 4。

归一化 2 的补码中的 4 = (100)b2 = 指数

因此 MIL-STD 1750A 32 位浮点数为:

S=0, F=11000110000000000000000, E=00000100

我的上述解释正确吗?

对于-12.375,它只是交换的符号位吗?IE:

S=1, F=11000110000000000000000, E=00000100

或者分数部分会发生什么奇怪的事情?

4

1 回答 1

4

我认为上面的图表有点误导。在 IEEE 格式中,要从正极切换到负极,只需翻转第一位。其余三位可以视为无符号数。在 MIL-STD 格式中,尾数是二进制补码数,因此虽然第一位确实表示符号,但其余 23 位不会保持不变。

我得到的是

S=1, F=00111010000000000000000, E=00000100
于 2010-10-19T03:51:53.243 回答