iOS产生随机数,rand、srand、random、arc4random

1.获取[0, 10)的随机数:

①int a = arc4random()%11;

②srand((unsigned)time(0)); //不加这句每次产生的随机数不变

    int b = rand() % 11;//短时间内不会改变如一秒内调用几次,产生的数相同

③srandom((unsigned)time(0));

    int c = random() % 11;//短时间内...同上

④int d = random() % 11;//短时间内...同上

⑤int e = rand()% 11;

2.获取[5, 10)的随机数:

①int a = arc4random()%11 + 5;//(arc4random()%11) + 5

②srand((unsigned)time(0));

    int b = rand() % 11 + 5;//(rand()%11) + 5

③srandom((unsigned)time(0));

    int c = random() % 11 + 5;//

④int d = random() % 11 + 5;

⑤int e = rand()% 11 + 5;

调试结果:


*** 大家都说是三种方法,我随便写了以上五种看了一下也是可以的,不过仅供参考,慎用!***

注:rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。

arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值则是 0x100000000 (4294967296)。

精确度比较:arc4random() > random() > rand()。

链接:本段引用于 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • C语言中生成随机数的一种方法。随机产生[0~10)之间的的数 ,注意:不包括10 解析: 1.rand()函数并...
    天空的羁绊阅读 9,273评论 0 2
  • 在C中提供了rand()、srand()、random()、arc4random()几个函数来获取随机数。 使用 ...
    Mark_Ming阅读 2,120评论 2 11
  • 【边走边写】美丽的新疆 ——新疆行之十·巴音布鲁克草原 林奇 从那拉提到巴音布鲁克,是在天山之中穿行。随着海拔逐渐...
    林奇_51f7阅读 305评论 0 2
  • 感恩阳光明媚的一天,持续阴雨连天,久违的阳光终于露脸了,晒被子,晒衣服,晒心情。 感恩美女送的泡脚片,舒服...
    喜悦的霞光阅读 247评论 0 0
  • 由于新换了电脑,不得不重新安装一下CocoaPods,仅以此文分享一下安装过程以及遇到的问题。一 选择镜像我之前选...
    Horizion_T阅读 404评论 0 2

友情链接更多精彩内容