正在思考逻辑,似乎 Math.floor(Math.random() * 255)
会生成每个值生成的不均匀概率。
例如,一些值可以向下舍入为 254,但只有当 Math.random()
生成正好为 1 时,输出才会为 255。概率的不均匀程度取决于小数点后的位数Math.random()
生成的数字。
我的想法是否不正确,或者是否有更平衡的方法来生成一组随机整数?
最佳答案
Math.random()
将始终生成一个严格小于 1 的数字(即 0 ≤ x < 1
),因此 Math.floor(Math.random() * 255)
将生成一个介于 0 和 254 之间的随机数。
使用 Math.floor(Math.random() * 256)
生成 0 到 255 之间的数字。是的,结果将均匀分布。
关于javascript - Math.floor(Math.random() * 255) 不会产生不均匀的概率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20790579/