在 [0,1) 中生成随机 float64 的一种简单方法是在 [0,2⁵³) 中生成一个均匀随机的 int 并将其除以 2⁵³。这基本上就是rand.Float64()
正在做的事情。然而,并非所有介于 0 和 1 之间的 float64 值都可以通过这种方式生成:例如,如果该值小于 2⁻⁴,则有效数的最后 4 位始终为 0。或者,更简单地说, naive 方法总是返回 2⁻⁵³ 的倍数,并非所有介于 0 和 1 之间的浮点数都是 2⁻⁵³ 的倍数。
您如何生成一个统一随机的 float64,例如每个可能的值都有机会被返回?(在这里,均匀随机意味着在实数区间[0,1] 内):从概念上讲,我想选择一个介于 0 和 1 之间的均匀随机实数并返回最接近的浮点数。)
对于上下文,我需要这个,因为我正在实施这篇论文,并且假设“表示 0 和 1 之间的所有可能值”对于结果保持是必不可少的。
慕勒3428872
冉冉说
沧海一幻觉
至尊宝的传说
相关分类