获得精确50/50几率的正确函数是什么:
return Math.random() < 0.5;
Vs的
return Math.random() <= 0.5;
答案 0 :(得分:12)
Math.random()函数返回[0,1]范围内的浮点伪随机数;也就是说,从0(含)到最高但不包括1(不包括)
随机数位于[0,0.5)
或[0.5,1)
范围内。所以你应该使用return Math.random() < 0.5;
来获得(理论上)50/50的机会。
答案 1 :(得分:2)
第一个是正确的,因为随机数生成器返回一个从0到0.99999999的数字(取决于生成器本身的准确精度)
因此,使用&#34;&lt;&#34;将值拆分为两组。运算符,你应该得到两个相等的范围:
[0至0.49999999]和[0.5至0.9999999]