在我们日常的开发过程中在很多场景都需要获取随机数,包括很多数据类型,整形,长整形等。
如果我们需要一个随机整数,我们可以使用arc4random系列函数,其实这个函数大家用的很多了吧,比如说我们需要生成一个指定范围内的一个随机数,我们则需要给他指定一个上限max,arc4ramdom()返回值类型是UInt32。下面看一下例子
arc4random()/max //这样我们就取到指定范围的一个随机数,不过max如果不是2的次幂方时,会产生模偏差的问题。
我们也可以使用arc4random_uniform函数,它接受一个UInt32类型的参数,指定随机区间上边界max,生成的随机数范围是0到max,当然不包括max,也就是[0,max)这样。使用方式如下:
arc4random_uniform(max)
如果想取指定区间的随机数可以使用一下写法
arc4random_uniform(max - min) + min
在这里就不回顾传统的C随机数函数rand和random了,它们都要随机种子而且取值范围不如arc4random.