博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS随机生成随机数
阅读量:6876 次
发布时间:2019-06-26

本文共 861 字,大约阅读时间需要 2 分钟。

hot3.png

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)));

}

随机数的范围是否包含边界函数,我个人有点迷茫,因为用简单的数进行测试时第二种方法包含了边界函数,第三种直接错误;但是从别的地方看到有的说包含边界函数有的说不包含,所以大家看的时候自己记得简单测试来避免一些不必要的麻烦

转载于:https://my.oschina.net/ospost90s/blog/542766

你可能感兴趣的文章
ubuntu 13.04连接wpa无线
查看>>
java,SimpleDateFormat,时间格式化
查看>>
Linux 下关闭防火墙设置
查看>>
【mysql锁表检查】
查看>>
如何设置远程登录XAMPP的phpmyadmin
查看>>
[视频]我的.NET之路 - 郑大工学院.Net俱乐部活动
查看>>
javascript 学习心得
查看>>
JAVA之JMS
查看>>
linux shell之天干地支算法-年干支/月干支计算
查看>>
Eigen NDK编译
查看>>
Linux_目录管理命令
查看>>
linux压缩命令(三)之xz命令总结
查看>>
基于虚拟账号的邮件系统
查看>>
我的友情链接
查看>>
java字段不序列化
查看>>
MySQL主从复制
查看>>
php安全模式介绍
查看>>
Java字符串操作类学习笔记:String、StringBuffer、StringBuilder
查看>>
第十二章、特殊权限SUID等详解
查看>>
Android获取屏幕高度、状态栏高度、标题栏高度(二)
查看>>