oc之随机数

来源:互联网 发布:985 211 区别知乎 编辑:程序博客网 时间:2024/06/05 07:53

其实不想写的,但是无奈竟然还有一些人被网上的“复制大神”误导了。

虽然上网搜一大推,但是千篇一律啊有木有,下面看下网上的代码

通过arc4random() 获取0到x-1之间的整数的代码如下:int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 

对于以上代码我想问,如何生成21到30之间的整数呢?是不是一般新手就误导为 int value = (arc4random() % 30) + 21 了啊?是不是有人已经这些写过了,写过的麻烦举个手让我看看,哈哈。上网一搜一大推 千篇一律 你们这么复制粘贴,对得起那些莘莘学子吗????

下面跟着我正确理解一下arc4random用法:

arc4random()%x+y :意思是随机生成y到y+x之间的随机整数。不包括(y+x)。
y:意思是从y开始(包括y)
x:是一个范围
下面看例子

   int value=arc4random()%3+21;   //生成的是数只可能是21,22,23这三个整数。也就是生成21到(21+3)24(不包括24)之间的随机整数。

理解了这个例子,下面我们在说网上的代码的由来:

//获取0到x-1之间的整数int value = arc4random() % x+0;上面代码可以省去0后,其实也可以写成:int value = arc4random() % x; //获取1到x之间的整数的代码: int value = arc4random() % x+ 1; 其实在视觉上为了让用户觉得x是和前面arc4random() %是一体的,就加了个括号,这个括号如果你不迷的话是可要可不要的:int value = (arc4random() % x) + 1; 

ok,相信看了我这篇文章,小白再去取21到30之间的随机数时就不会再理解arc4random错误然后写成int value = (arc4random() % 30) + 21 了吧。请允许我偷偷笑一下。。。。

原创粉丝点击