- 在OC 中最简单的方法生成随机数是利用arc4random_uniform函数,具体用法是
arc4random_uniform (x);
//可以用来生成[0,x)范围内的随机数。可以取到0,最大取到x-1的整数。
实际上,arc4random_uniform()函数,是在arc4random()函数的基础上,内部完成了取模操作。
- arc4random()函数产生的随机数是0-0x100000000之间,也就是0-(2^32-1)的所有整数。arc4random_uinform(x),是在arc4random()的基础上,完成了对x的取模,也就是数学里的取余数,余数是0-(x-1)的所有整数,包括0和(x-1)。
举个例子,你需要0-100的随机数,不包括100,则使用
arc4random_uniform(100);
当你需要取到0也需要取到100时,不能在结果上直接加1,即arc4random_uniform(100)+1;
这个时候有个问题,就是0取不到了。
这时候,你可以用arc4random_uniform(101);
也就是你将arc4random()生成的随机数,对101取模(余数),这个余数就是0~100的所有整数包括了0和100,就满足需求了。
网友评论