遇到随机数顺便总结一下随机数的几个方法:
生成0-x之间的随机正整数
int value =arc4random_uniform(x + 1);
生成随机正整数
通过arc4random() 获取0到x之间的整数的代码如下:
int value = arc4random() % x+1;
获取1到x之间的整数的代码如下:
int value = (arc4random() % x) + 1;
注:
rand()和random()实际并不是一个真正的伪随机数发生器,
在使用之前需要先初始化随机种子,否则每次生成的随机数一样。
(这里不列出具体的方法,网上都有。)
arc4random() 是一个真正的伪随机算法,不需要生成随机种子,
因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。
在iPhone中,RAND_MAX是0x7fffffff (2147483647),
而arc4random()返回的最大值则是 0x100000000 (4294967296)。
(随机数最好使用arc4random,因为使用random()必须手动设置随机种子)