使用:
value = arc4random() % x
如何避免或消除模偏差?
至少根据维基百科的说法,在编写偶然游戏时,模块偏见是一个问题。
最佳答案
arc4random返回一个32位无符号整数(0到232-1)。
对于足够小的x,可能不会有明显的模偏差。但是,如果您真的想确定,请执行以下操作:
y=2p,其中2p-1
val = arc4random() % y;
while(val >= x)
val = arc4random() % y;
关于objective-c - Objective-C:模偏差,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/648739/