ios 有如下三种随机数方法:

1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变
        int i = rand() % 5;

2.    srandom(time(0));
        int i = random() % 5;

3.    int i = arc4random() % 5 ;

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

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

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

常用方法:arc4random

1、获取一个随机整数范围在:[0,100)包括0,不包括100

int x = arc4random() % 100;

2、  获取一个随机数范围在:[500,1000),包括500,不包括1000

int y = (arc4random() % 501) + 500;

3、获取一个随机整数,范围在[from,to),包括from,不包括to

-(int)getRandomNumber:(int)from to:(int)to

{

return (int)(from + (arc4random() % (to – from + 1)));

}

参考:

1.http://kb.cnblogs.com/a/2335710/

2.http://mmz06.blog.163.com/blog/static/121416962011101103734767/

【IOS基础知识】生成随机数相关推荐

  1. IOS基础知识-ARC,分类,Block

    IOS基础知识-ARC,分类,Block ARC快速入门 本小节知识点: 1.ARC机制判断 2.ARC快速使用 ARC基本概念 本小节知识点: 1.什么是ARC 2.ARC的注意点和优点 3.ARC ...

  2. iOS开发中生成随机数

    有时候我们需要在程序中生成随机数,但是在Objective-c中并没有提供相应的函数,好在C中提供了rand().srand().random().arc4random()几个函数.那么怎么使用呢?下 ...

  3. iOS面试必备-iOS基础知识

    近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内 ...

  4. iOS基础知识(面试必备)

    iOS开发的设计模式 一.代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源dele ...

  5. iOS中的生成随机数方法

    ios 有如下三种随机数方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int i = rand() % 5; 2.     ...

  6. 路由器wds设置最终版、一些ios基础知识

    路由器wds wds是路由器的一个功能,能让多个无线路由连在一起. 教程:http://jingyan.baidu.com/article/fea4511a7c2b2ef7bb912523.html ...

  7. 【iOS基础知识】const与宏的区别

    2019独角兽企业重金招聘Python工程师标准>>> const与宏的区别 区别: 处理时刻:宏是预处理时(即在预处理时把宏展开,替换为原来的值),const是编译运行时(编译器在 ...

  8. IOS开发基础知识--碎片13

    1:运行程序报the file couldn't be opened because you don't have permission to view it 解决办法:项目->targets- ...

  9. iOS Core Bluetooth 基础知识

    原文:The Utimate Guide to Apple's Core Bluetooth – PunchThrough 本文假设您了解蓝牙低能耗(BLE)和iOS编程的基础知识(包括许多iOS原生 ...

最新文章

  1. mysql数据库死锁 情景一
  2. java fx 插件,JAVA FX 應用程序基礎
  3. HGsoft-downloader
  4. mosquitto源码分析(五)
  5. python def函数报错详解_python自定义函数def的应用详解
  6. Java千百问_01基本概念(003)_J2EE里面的2是什么意思
  7. kindeditor 文件上传在 spring mvc下的使用
  8. Scala - Redis hgetAll 优化 by hscan
  9. a3图纸标题栏尺寸标准_标准CAD制图上A3图幅上的标题栏尺寸是多少
  10. 基于ThinkPHP6组件化开发框架
  11. Python使用Opencc库完成字符繁简体转换
  12. 投资分析研究:天然气分布式能源项目
  13. 再见,安卓开发权威指南
  14. 键盘之争:QWERTY还是Dvorak
  15. 你认为的CISP这个证书是怎么样的
  16. 静态库和动态库的制作使用与区别
  17. restTemplate实现 authorization basic权限认证(带账号密码)
  18. 记一次wordpress博客搬家方法(无损快速搬家)
  19. awk ERES 基础表达式符号介绍
  20. qnap plex安装_如何在Apple TV上安装Plex

热门文章

  1. 魔兽世界怀旧服务器无限刷怪点,怀旧服:4处无限刷新的打怪点 升级比副本还快...
  2. html怪异模式是什么,浅谈CSS编程中的怪异模式
  3. 春运路上的“神笔马良”
  4. python图像识别算法 识别数量_使用深度学习(CNN)算法进行图像识别工作时,有哪些data augmentation 的奇技淫巧?...
  5. 【核心基础知识】javascript的数据类型
  6. ftp服务器上传文件不行,ftp服务器上传文件不行
  7. TCL 语言——12 条语法和语义规则
  8. 做刀尖上的舞者 京东无线服务端的三次架构演进
  9. x264参数中文详解
  10. Sentinel-1 雷达数据快速下载