iOS开发

ios随机数random(), arc4random(),arc

2017-05-02  本文已影响1021人  小巷深深

1. random()

random()不是一个真正的伪随机数发生器,因此在使用前必须初始化随机种子,否则每次生成的随机数都是相同的。它会产生一个[0,RAND_MAX)之间的一个整数。

产生一个[0,100)的数字

srandom((unsigned)time(NULL));
int num = 100 * random()/RAND_MAX;

目前已经不推荐使用random()函数了

2. arc4random()

arc4random()是一个真正的伪随机算法,不需要随机数种子。
产生一个[0,100)的数字

int num = arc4random()%100;

3. arc4random_uniform()

使用arc4random()产生指定的随机数还需要做取模运算,而arc4random_uniform()则不需要,看下面函数定义,传入一个上边界数字

uint32_t arc4random_uniform(uint32_t __upper_bound)

可产生一个[0, __upper_bound-1)的数字

int num = arc4random_uniform(100);
上一篇下一篇

猜你喜欢

热点阅读