Python 什么是';取决于舍入';到底是什么意思?

Python 什么是';取决于舍入';到底是什么意思?,python,random,floating-point,rounding,Python,Random,Floating Point,Rounding,关于random.uniform,docstring说: 根据舍入情况,获取[a,b]或[a,b]范围内的随机数 但我不知道“取决于舍入”到底是什么意思。内容如下: 返回一个随机浮点数N,这样a取整是:如果我向上取整3.45,我将得到4。但是如果向下取整,我将得到3。因此,在这种情况下,范围的值来自[或]将根据整数的不同而变化。在文档中,它说的是统一的,根据方程a+(b-a)*random()中的浮点舍入,端点值b可能包括在范围内,也可能不包括在范围内。示例:random.uniform(0,5

关于
random.uniform
,docstring说:

根据舍入情况,获取[a,b]或[a,b]范围内的随机数

但我不知道“取决于舍入”到底是什么意思。

内容如下:


返回一个随机浮点数
N
,这样
a
取整
是:如果我向上取整3.45,我将得到4。但是如果向下取整,我将得到3。因此,在这种情况下,范围的值来自[或]将根据整数的不同而变化。在文档中,它说的是统一的,根据方程a+(b-a)*random()中的浮点舍入,端点值b可能包括在范围内,也可能不包括在范围内。
示例:
random.uniform(0,5e-324)
包括上限。@SvenMarnach:ah,错过了
,读作
]
。所以最大值是
1.0-epsilon
then?@MartijnPieters:最大值取决于随机生成器。它通常不是
1.0-epsilon
,而
epsilon
是浮点表示的“epsilon”,而是一个epsilon,取决于随机数生成器提供的位数。前一段时间这是48位,双精度数字的尾数有52位,所以有一个系数16。我正在调查这是否仍然是真的。@SvenMarnach:是的,所以不完全是
1.0-epsilon
,而是取决于随机数算法的分辨率(Wichman Hill,见)。@MartijnPieters:哦,这是一个与我想象中的算法非常不同的算法。是的,当然这取决于这个算法,我不能一眼就知道最大值是多少