gpt4 book ai didi

Python:将 2 个整数转换为 32 个 float

转载 作者:太空狗 更新时间:2023-10-30 01:24:19 25 4
gpt4 key购买 nike

如何将 2 个整数合并为一个 32 位 IEEE float ? (2个整数中的每一个代表16位)而在相反的方向:如何将 python float 转换为 2 个 16 位整数?

(我需要这个是因为 modbus 协议(protocol)——其中 2x16 位寄存器被视为单个 32 位 float )

最佳答案

此代码将 16 位整数 i1 和 i2 转换为 float 3.14,反之亦然。

from struct import *
# Two integers to a floating point
i1 = 0xC3F5
i2 = 0x4840
f = unpack('f',pack('>HH',i1,i2))[0]

# Floating point to two integers
i1, i2 = unpack('>HH',pack('f',3.14))

关于Python:将 2 个整数转换为 32 个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3063078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com