gpt4 book ai didi

python - 将整数列表解释为 Python 中的 float

转载 作者:行者123 更新时间:2023-11-28 22:54:59 24 4
gpt4 key购买 nike

我正在尝试将 C 代码片段转换为 Python。

上述函数的目的是从 PLC 获取 4、8 位读数,并将它们解码为单个 float 。

float conv_float_s7_pc(char * plc_real)
{
char tmp[4];
tmp[0] = * (plc_real + 3);
tmp[1] = * (plc_real + 2);
tmp[2] = * (plc_real + 1);
tmp[3] = * (plc_real + 0);
return (* (float *) tmp) ;
}

是否有一些 Python 魔术可以干净利落地执行此功能?

虽然我正在尝试转换上述函数,但更普遍的问题是,您将如何在 python 中执行内存“重新解释”?

编辑

这让我得到了我需要的东西:

import struct

def conv_to_float(plc):
temp = struct.pack("BBBB", plc[0], plc[1], plc[2], plc[3])
output = struct.unpack(">f", temp)[0]
return output

最佳答案

使用 struct modulef格式字符

>>> import struct
>>> plc_real = "1234"
>>> struct.unpack("f", plc_real)[0]
1.6688933612840628e-07

确保使用 <>设置你需要的字节顺序

关于python - 将整数列表解释为 Python 中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415850/

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