首页 > 解决方案 > Python3.4 将 int16_t 字符串转换为有符号浮点数

问题描述

如果这里已经回答了这个问题,我深表歉意。我的搜索出现了类似的问题,但我未能成功地将它们应用于我的情况。

我通过串行通信接收数据作为两个 16 位十六进制字节。现在由两个 python 整数表示。[48822, 15938]

这些字节代表一个有符号浮点变量。即[48822, 15938]--> [0xbeb6, 0x3e42]--> [0x3e42beb6]-->[0.190181]

我将如何在 python3.4 中完成这种转换?

标签: pythontype-conversionpython-3.4

解决方案


>>> import struct
>>> f = struct.unpack('f',struct.pack('HH', 48822,15938))[0]
>>> f
0.19018062949180603
>>> 

您可以使用*lst将列表转换为struct.pack.


推荐阅读