正在考虑逻辑,似乎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之间是一个数,结果将均匀分布.