【问题标题】:Python program to convert Hexadecimal to IEEE-754 Floating Point with Single precision用于将十六进制转换为单精度 IEEE-754 浮点的 Python 程序
【发布时间】:2021-04-23 09:32:41
【问题描述】:

我正在编写一个 Python 程序来解码来自我的传感器的 Base64(原始数据)输出,以找到它的纬度和经度。

在检查了传感器随附的文件(附在下面)以解码这些值之后,我仍然不确定如何实现它。我在下面找到了转换它的部分解决方案,但不确定如何实现最终输出。

例如,如果Hexa值为B4 39 F5 42,我的纬度输出应该是1.3768

import binascii
import struct


data = 'F9 7B 9C 45'
fdata = struct.unpack('<f', binascii.unhexlify(data.replace(' ', '')))[0]
print(fdata)

输出:

5007.49658203125

【问题讨论】:

  • 这能回答你的问题吗? Convert hex to float
  • 嗨@PacketLoss,我尝试了前两个答案,但似乎没有解决。

标签: python python-3.x base64 hex ieee-754


【解决方案1】:

你快到了。您现在应该将浮点数转换为您附加的文档中指定的度数:

deg = fdata // 100 + (fdata % 100) / 60

对于'F9 7B 9C 45',结果将是50.124943033854166,对于'B4 39 F5 42',结果将是1.3768783569335938

【讨论】:

  • 谢谢@Selcuk。得到了想要的输出。
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2016-04-02
相关资源
最近更新 更多