在python中,函数random()在半开放范围[0.0,1.0]中统一生成随机浮点数.原则上它可以产生0.0(即零)和1.0(即统一)?实际情况是什么?
Amb*_*ber 13
0.0可以生成; 1.0不能(因为它不在范围内,因此)相反[).
生成概率0.0等于在该范围内生成任何其他数的概率,即1/X,其中X是不同可能结果的数量.对于标准无符号双精度浮点,这通常意味着53位小数分量,对于2 ^ 53种可能的组合,导致1 /(2 ^ 53)精确生成的机会0.0.
因此虽然它可以准确地返回0.0,但你不太可能很快就会看到它 - 但是你不太可能看到你可能提前选择的任何其他特定值.