python - Python3.4 将 int16_t 字符串转换为有符号浮点数
问题描述
如果这里已经回答了这个问题,我深表歉意。我的搜索出现了类似的问题,但我未能成功地将它们应用于我的情况。
我通过串行通信接收数据作为两个 16 位十六进制字节。现在由两个 python 整数表示。[48822, 15938]
这些字节代表一个有符号浮点变量。即[48822, 15938]
--> [0xbeb6, 0x3e42]
--> [0x3e42beb6]
-->[0.190181]
我将如何在 python3.4 中完成这种转换?
解决方案
>>> import struct
>>> f = struct.unpack('f',struct.pack('HH', 48822,15938))[0]
>>> f
0.19018062949180603
>>>
您可以使用*lst
将列表转换为struct.pack
.
推荐阅读
- javascript - 如何在不使用 vue/javascript 中的 event.target 的情况下显示上传的 zip 文件的名称?
- python - gensim LDA 输出
- css - Laravel 叶片和顺风没有正确混合,我不明白为什么
- arduino - 当 MAX30100 库的 pox.update() 在 Arduino 循环中时,我无法连接
- python - 无法在 Python 中将类对象传递给星图?
- selenium - SSH Selenium 会话在注销时崩溃(即使使用“screen”、“nohup”等)
- frontend - 我需要在 nextJs 中使用 react-bootstrap,但是当需要使用 checkValidaty() 进行验证时,nextJS 返回错误
- php - 如何在aws弹性豆茎上放置ssl
- arrays - 循环通过数组并以角度显示数据
- function - 如何检查 Haskell 项目中参数是否过多或过少的函数调用