在python中,函数random()在半开区间[0.0,1.0]中均匀地生成随机浮点数。原则上,它能生成0.0 (即零)和1.0 (即单位)吗?实际情况是什么?
发布于 2010-04-12 17:52:17
可以生成0.0;不能生成1.0 (因为它不在该范围内,因此是)而不是[)。
生成0.0的概率等于生成该范围内任何其他数字的概率,即1/X,其中X是不同可能结果的数量。对于标准的无符号双精度浮点数,这通常意味着53位的小数部分,对于2^53种可能的组合,导致精确生成0.0的可能性为1/(2^53)。
因此,虽然它有可能返回确切的0.0,但您不太可能很快看到它-但是您也不太可能看到您预先选择的任何其他特定值。
发布于 2010-04-12 17:49:12
[表示0.0包含在有效输出范围内。)指示1.0不在有效输出范围内。
https://stackoverflow.com/questions/2621055
复制相似问题