arc4random如何工作?

时间:2014-06-23 17:59:10

标签: xcode arc4random

我需要在-170到80之间生成一个随机数。我不知道如何“询问”xcode在某些数字之间生成一个值。这是正确的吗?请解释一下。

  

(arc4random()%251) - 170;

1 个答案:

答案 0 :(得分:1)

您通常使用arc4random_uniform来获取限制在特定范围内的数字。

E.g。

u_int32_t randomNumber = arc4random_uniform(250);

// randomNumber is now between 0 and 249 inclusive

如果您希望从-170而不是0开始,那么,正如您似乎意识到的那样,您将从中减去它:

int correctRangeRandomNumber = (int)randomNumber - 170;

// correctRangeRandomNumber is now between -170 and 79 inclusive

如果您想要一个最高为80的闭合范围内的随机数,那么您可能希望使用251而不是250作为上限,正如您似乎意识到的那样。