arc4random非模偏差?

时间:2013-08-17 16:31:40

标签: objective-c arc4random

我在代码中使用arc4random() %2。它在初始化时被3个类调用,这种情况很快就会发生。然而,大约70%以上的结果总是全部为0或全部为1(2组000或111之间的分布似乎是平均值)。我原本期望在3个类之间相当随机地分配1和0。怎么解释这个?

2 个答案:

答案 0 :(得分:1)

虽然我不能肯定地说这个,但它似乎确实是一个播种的“问题”。在毫秒之内多次调用arc4random()会对某些数字产生非常高的偏差。 acr4random_uniform似乎解决了这个问题 - 看似它以更“强大”的方式播种

答案 1 :(得分:-1)

使用acr4random_unform(3)来避免模偏差

阅读本文: - http://nshipster.com/random/