【发布时间】:2018-08-28 01:49:22
【问题描述】:
这不是第一次询问“Math.random() 是否相等”。
Will JavaScript random function ever return a 0 or 1?
Is it possible for Math.random() === Math.random()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random - 更高层次的解释
https://hackernoon.com/how-does-javascripts-math-random-generate-random-numbers-ef0de6a20131 - 底层解释
所以;我的问题: JavaScript 的 Math.random() 可以完全等于 .5 吗?
它符合>= 0 && < 1 的定义。但在实践中,我尝试了几种不同的方法,最后一种是:
while (Math.random() != .5)
它们要么超时,要么永远不完全等于 .5
数十亿次尝试/多个浏览器 (firefox 60+ X64) 稍后崩溃。是否可以?它依赖于浏览器/系统吗?是我对统计概率缺乏理解吗?
【问题讨论】:
-
当然,有可能,只是不太可能。
-
只是为了交谈,这不可能吗?
-
假设算法是公平的,就像调用精确到 0 一样不太可能。
标签: javascript