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

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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容