python中double转化成float32

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/miclover_feng/article/details/77658743

今天在处理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类型的数据了。

猜你喜欢

转载自blog.csdn.net/miclover_feng/article/details/77658743
今日推荐