2013-01-08 45 views
0

可能重複:
How random is JavaScript’s Math.random?Math.random()的隨機性如何?

究竟是什麼算法並Math.random()使用產生的隨機數?

鑑於雙倍的格式和Math.random()產生的範圍,有多少可能的結果?

考慮到浮點數的上述精度和(in)精度,Math.random()恰好返回0的機率是多少?

+0

好問題!我只是建議不要指望它。設置自己的概率乘以結果和四捨五入,除非你需要一個十億分之一的機會。 – Ryan

+0

你有沒有簽出https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random? – MadSkunk

+1

查看其他問題,例如[this one](http://stackoverflow.com/questions/578700/how-trustworthy-is-javascripts-random-implementation-in-various-browsers)和[this one](http:// stackoverflow.com/questions/1062902/how-random-is-javascripts-math-random) – Pointy

回答

0

它使用一個僞隨機數發生器,種子就是它被調用的時間。

本頁有一些圖像來比較真正的隨機噪聲與僞隨機噪聲。有趣的模式:http://boallen.com/random-numbers.html

JS僞隨機可能不一定是完全一樣的,但應該是接近。

0

Math.random使用統一的數字分佈。

+0

是的,但...什麼數字? (見最後一段) – Ryan

+1

浮點數的不準確性非常棘手。在我看來,如果你只是擴大範圍,使每個選定的數字是整數(整數),然後用常數除以使它們符合期望的範圍,則其中的每個數字都將具有相等的出現機會。在所有均勻分佈中,簡單地表示概率分佈曲線中的水平線。這意味着至少在理論上所有事物都有相同的機會。 – AmbuSreedharan

+0

它不統一。這是僞隨機的,看我的答案。 –

相關問題