除IEEE754之外是否还有32位浮点表示

Gis*_*tiv 2 floating-point binaryfiles data-conversion binary-data ieee-754

前言:

我目前正在尝试解密旧的二进制格式(在日本80年代中期到80年代后期开发),该格式将浮点值存储在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

Actuall问题:

在IEEE754标准之外/之前是否还有其他(旧的)32位浮点表示?

Ser*_*sta 6

它不是浮点表示而是固定点表示.二进制4字节块是小端32位整数,表示浮点值多达10000:

Byte repr.   int hexa   int dec. int val / 10000.
A0 78 2D 00  0x002d78a0  2980000 298.0
A0 78 2D 01  0x012d78a0 19757216 1975.7216
A0 78 2D 02  0x022d78a0 36534432 3653.4432
A0 78 2C 00  0x002c78a0  2914464 291.4464
A0 78 2C 02  0x022c78a0 36468896 3646.8896
Run Code Online (Sandbox Code Playgroud)

这通常用于表示修正精度时和需要精确操作时的十进制数,例如表示货币