python中double转化成float32

今天在处理python数据时,发现导入的mat文件类型是double(matlab默认类型就是double)。而我需要用到的数据是float32类型。查找资料也没有找到合适的解决办法。后来自己尝试着,恰好能做到转换的目的。所以就写下来,与君共勉,也希望能够的到批评指正。

首先我们得明白,float(单精度说明符),double(双精度说明符)  。单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。而在Matlab中的single是就是代表单精度。通过它可以实现在python的float32类型。(注:在python中,没有找到可以直接将一个矩阵一次性转化成float的办法,可能自己才疏学浅)。因此我的方法是:

在matlab中将矩阵类型先转换成single(A)类型,保存。在python中打开就是float32类型的数据了。

发布了46 篇原创文章 · 获赞 24 · 访问量 8万+
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 像素格子 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览