使用:

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/

10-13 09:06