将十进制数转换为十六进制
问题描述:
我有一个以十六进制形式存储十进制数的嵌入式设备,但我遇到了转换问题。将十进制数转换为十六进制
下面是一些如何存储小数值的例子。
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
有没有人看到过程可能是什么来转换这些数字?
答
他们大端漂浮
在蟒蛇,他们可以与格式字符串解压!˚F
例如
>>> a="\x40\x00\x00\x00"
>>> import struct
>>> struct.unpack("!f",a)
>>> (2.0,)
确定这我指出了正确的方向。使用PHP,我可以使用这样做:''echo implode(“”,unpack(“f *”,“\ xcd \ xcc \ xcc \ x3f”));'output = 1.6000000238419 – 2013-03-16 20:27:49