首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将整数列表解释为浮点数

在Python中将整数列表解释为浮点数
EN

Stack Overflow用户
提问于 2013-07-02 09:00:25
回答 1查看 608关注 0票数 2

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

上述功能的目的是从PLC获取4,8位读数,并将其解码为单个浮点数。

代码语言:javascript
复制
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中执行这样的内存“重新解释”?

编辑

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

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 09:19:19

使用带有f格式字符的struct module

代码语言:javascript
复制
>>> import struct
>>> plc_real = "1234"
>>> struct.unpack("f", plc_real)[0]
1.6688933612840628e-07

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17415850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档