如何解决将十六进制转换为 IEEE-754 单精度浮点的 Python 程序
我正在编写一个 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
解决方法
你快到了。您现在应该按照您附加的文档中的指定将浮点数转换为度数:
deg = fdata // 100 + (fdata % 100) / 60
结果将是 50.124943033854166
的 'F9 7B 9C 45'
和 1.3768783569335938
的 'B4 39 F5 42'
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。