我有一个列表[142,65,110,51]它需要被转换为类似于浮子c_float
从ctypes
LIB。我不知道c_float的逻辑。
我正在尝试使用模块struct
:
import struct
x = [142, 65, 110, 51]
ans = 0
for i, v in enumerate(x):
ans += (v << (8 * i))
combined = ans # 862863758
buf = struct.pack("d", combined)
fl = struct.unpack("ff", buf)
print(fl)
我得到了(-32768.0, 25.21441650390625)
,但是我需要一个浮点值。
简而言之,我要[142, 65, 110, 51] => 0.0003232(some float value)
。
使用f
而不是ff
:
import struct
x = [142, 65, 110, 51]
fl = struct.unpack("f", bytes(x))
print(fl)
哪些印刷品 (5.54733148305786e-08,)
请注意,您可以ans
完全跳过变量,而直接将其转换x
为可以解压缩的字节对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句