【发布时间】:2018-11-03 15:18:24
【问题描述】:
前言:
我目前正在尝试解密一种旧的二进制格式(在 1980 年代中后期在日本开发),它将浮点值存储在 4 字节块中,未使用 IEEE754 标准进行转换。我有一个程序可以为我转换值,因此我可以操作二进制文件来更改存储的值并查看结果,但我不知道如何解释它们。
我确实将 4 个字节的所有可能排列解释为 IEEE 浮点数,但没有一个是正确的,所以我可以说这不是字节序问题,也不是我知道或可以在互联网上找到的浮点数表示.
我试图研究我使用的程序的汇编,但我的汇编技能不足以从中得到任何东西。
这里有一些例子:
- A0 78 2D 00 = 298。
- A0 78 2D 01 = 1975.7
- A0 78 2D 02 = 3653.4
- A0 78 2C 00 = 291.4
- A0 78 2C 02 = 3646.8
实际问题:
除了/在 IEEE754 标准之前/之前,还有其他(旧的)32 位浮点表示吗?
【问题讨论】:
-
关于真正的问题:是的,例如 VAX format 或使用基数 16 和 7 位作为指数的 IBM 格式 Do any real-world CPUs not use IEEE 754? mrob.com/pub/math/floatformats.html
标签: floating-point binaryfiles binary-data data-conversion ieee-754