iOS随机数

在iOS中,我们产生随机数一般有三种方式,分别为:rand()、random()和arc4random()。它们之间的精确度如下:

arc4random()  >  random()  >  rand()

那么既然有三种方式产生随机数,那么它们该如何使用呢,又有什么区别呢?

1. rand()和random()在使用之前需要先初始化随机种子,调用srandom(time(NULL)),arc4random()不需要生成随机种子,它在第一次调用的时候就会自动生成。为了每次种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前的时间值。

2. 在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值则是 0x100000000 (4294967296),从而有更好的精度。

下面有几个例子来给大家更加详细的介绍: 

srand((unsigned)time(0));  //如果没有这个随机数种子,那么每次将产生相同的随机数

int i = rand();

NSLog(@"i = %d", i);



srandom(time(0));    //如果没有这个随机数种子,那么每次将产生相同的随机数

int j = random();

NSLog(@"j = %d", j);



int k = arc4random();    //不需要产生随机数种子

NSLog(@"k = %d", k);


下面再介绍几个例子,介绍怎么产生特定范围的整数呢,其实很简单的,比如:

1. 产生从0到x之间的:

  int k = arc4random() % x

2. 产生从1到x之间的整数:

  int k = (int)arc4random() % 100 + 1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值