【发布时间】:2016-10-02 12:10:15
【问题描述】:
Math.random() 在我的控制台中返回一个二进制点后 17 位的数字,因此它恰好为 0 的概率非常低。当它基本上永远不会返回其中任何一个数字时,它在技术上可以为 0 但永远不能为 1 到底有什么意义?是什么导致了这个?有人可以给我一些Math.random() 的这个属性相关的例子吗?
【问题讨论】:
-
见过
Math.floor(Math.random()*N)?我们绝对不想让N回到那里。 -
the probability of it being exactly 0 is astronomically low随机性的关键是不可预测的。 -
"恰好为 0 的概率非常低" - [0,1) 中任何其他值的概率也是如此
-
@BoltKey:当然它会改变一些东西——得到
0的概率会更小,并且小于得到数字 1…N-1 的概率。我承认,差别不大,但鉴于 JavaScript 数字的数量有限,它仍然存在差异。 -
@BoltKey:这使得它不再被正确分发 - 包括
0微不足道地解决了这个问题,所以这就是它完成的原因。
标签: random