首页 > 解决方案 > 如何迭代每个`numpy.float16`

问题描述

对于某个任务,我对一个复杂函数的重复调用太多了,f(x)在哪里调用它x是浮动的。我没有很大的浮点数,也不需要太高的精度,所以我想为什么不使用 f(x) 的查找表,其中 x 是 float16,查找表的最大大小是 (2**16)。我打算使用np.float16. 我有点坚持如何迭代所有浮点数的范围。在C/C++中,我会使用uint16_t,不断增加它。如何使用 python 创建此表?

标签: pythonnumpy

解决方案


您可以使用 生成所有可能的值arange,然后使用 将这些值重新解释为float16view。这是一个例子:

np.arange(65536, dtype=np.uint16).view(np.float16)

这应该为您提供所有可能的float16值。请注意,许多是 NaN 值。


推荐阅读