0

我有一个嵌入式设备,它以十六进制形式存储十进制数字,但我在转换时遇到了问题。

以下是它如何存储十进制值的一些示例。

1 = 80 3f
1.1 = cd cc 8c 3f
1.2 = 9a 99 99 3f
1.3 = 66 66 a6 3f
1.4 = 33 33 b3 3f
1.5 = c0 3f
1.6 = cd cc cc 3f
1.7 = 9a 99 d9 3f
1.8 = 66 66 e6 3f
1.9 = 33 33 f3 3f
2 = 40
7.3 = 9a 99 e9 40

有谁看到转换这些数字的过程可能是什么?

4

1 回答 1

1

它们是大端浮点数

在 python 中,它们可以用格式字符串 !f 解压

例子

>>> a="\x40\x00\x00\x00"
>>> import struct
>>> struct.unpack("!f",a)
>>> (2.0,)
于 2013-03-16T20:12:21.437 回答