Re: [請益] 亂數表有沒有規律??
看板ask-why (知識奧秘)作者littleshan (我要加入劍道社!)時間17年前 (2009/05/20 23:49)推噓1(1推 0噓 2→)留言3則, 1人參與討論串17/19 (看更多)
※ 引述《HuangJC (吹笛牧童)》之銘言:
[deleted]
: 當然,大部份時候,這樣設計程式都叫想太多
: 我們很簡單的把原始亂數除到變成 0~1 的浮點數再乘開就好了
: 沒有人會知道其實他天生中獎率就比別人低了
: 只怪他命不好 :P
: 不好意思,也有黑心程式 XD
我大概了解了你的意思
然而隨著 random number 的值域愈大
你所說的機率偏差也會隨之縮小
一般程式設計師並不會拿 0.0~0.9 僅有十種變化的 random variable
直接拿去乘 9.0 再做個 floor()
然後就說這是個 0~8 之間的 uniform random integer
若你的原始亂數是 0.000 ~ 0.999 有 1000 種可能
那麼經過運算後
出現 0 的機率僅比出現其它數字的機率大了 0.001
若你的原始亂數是小於 1.0 的 IEEE754 single-precision floating point
機率偏差為 2^-23
這個數字...八百萬分之一
說實話已經很小了 浮點運算誤差造成的影響還比較大
如果不滿意,你還可以改用 double
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.30.156
※ 編輯: littleshan 來自: 61.217.30.156 (05/20 23:55)
推
05/21 00:47, , 1F
05/21 00:47, 1F
→
05/21 00:47, , 2F
05/21 00:47, 2F
→
05/21 00:48, , 3F
05/21 00:48, 3F
討論串 (同標題文章)
ask-why 近期熱門文章
PTT職涯區 即時熱門文章