作者littleshan (我要加入剑道社!)
看板ask-why
标题Re: [请益] 乱数表有没有规律??
时间Wed May 20 23:48:58 2009
※ 引述《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)
1F:推 HuangJC:不只 R=0 那儿会重覆,事实上有可能出现周期性的重覆 05/21 00:47
2F:→ HuangJC:比如要把原本三个值塞进两个值里,那麽两个值中就有一个是 05/21 00:47
3F:→ HuangJC:另一个的两倍机率;然後周期性的画成条纹图了.. 05/21 00:48