2013-03-16 210 views
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 

有沒有人看到過程可能是什麼來轉換這些數字?

回答

1

他們大端漂浮

在蟒蛇,他們可以與格式字符串解壓!˚F

例如

>>> a="\x40\x00\x00\x00" 
>>> import struct 
>>> struct.unpack("!f",a) 
>>> (2.0,) 
+0

確定這我指出了正確的方向。使用PHP,我可以使用這樣做:''echo implode(「」,unpack(「f *」,「\ xcd \ xcc \ xcc \ x3f」));'output = 1.6000000238419 – 2013-03-16 20:27:49

相關問題