4

寻找如何格式化调用以arc4Random()使用从 -10 到 10 的数字范围。

还是arc4Random()只生成从 0 到 X?如果是这种情况,我将需要操纵结果,arc4Random()以便它可能是指定范围内的结果?

4

1 回答 1

6

arc4random返回 a u_int32_t,它是一个无符号类型。您需要将其转换为有符号类型,然后减去。

我假设您想要一个从 -10 到 +10 的数字(有时您希望同时选择 -10 和 +10)。

如果你的目标是 iOS 4.3 或更高版本,或者 Mac OS X 10.7 或更高版本,你应该使用这个arc4random_uniform函数:

int myNumber = (int)arc4random_uniform(21) - 10;

如果您的目标是较旧的操作系统,则必须使用arc4random

int myNumber = (int)(arc4random() % 21) - 10;
于 2012-03-04T05:12:26.647 回答