在我的PYTHON程序中,我正在加载很多(浮动)数字供以后使用。我说的是1亿或更多的数字。似乎我遇到RAM上的内存空间问题。由于我保存的数字不需要具有高精度(3-4位数就足够了)并且通常很小(在-1000 ... 1000范围内)我不使用64位浮点数提供的精度。
是否有可能使用更少的内存(可能是8位或16位)来保存浮点数?
谢谢!
答案 0 :(得分:2)
我会使用numpy库中的类型,它提供以下类型的兴趣:
float_
float16
float32
float64
所以,如果你想要一个16位浮点数(1个符号位,5个指数,和 10为尾数),您可以使用以下内容:
import numpy as np
x = np.float16(10.0)
答案 1 :(得分:1)
使用struct包的f
格式将它们打包成浮点格式值数组。