You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成0-1范围内的numpy.float128类型随机数组?

直接生成numpy.float128类型随机数组的方法

方法1:使用numpy推荐的新随机数生成器(numpy 1.17+)

numpy从1.17版本开始推荐使用np.random.Generator接口,它的uniform方法支持直接指定目标数据类型,能直接生成0到1范围内的float128数组,不会经过64位浮点转换:

import numpy as np

# 初始化随机数生成器
rng = np.random.default_rng()
# 直接生成100个0-1之间的float128随机数
a = rng.uniform(low=0.0, high=1.0, size=100, dtype=np.float128)

方法2:使用旧版接口的np.random.uniform

如果你仍在使用旧版numpy,也可以直接用np.random.uniform,它同样支持dtype参数:

import numpy as np

a = np.random.uniform(0.0, 1.0, size=100, dtype=np.float128)

为什么np.random.random不行?

np.random.random本质是np.random.uniform的简化版,但它的参数设计里没有预留dtype参数,只能先生成默认的64位浮点数再转换,这就是你之前遇到精度问题的原因。

内容的提问来源于stack exchange,提问作者Simd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:00:59