当前位置: 首页 > 编程笔记 >

浅谈iOS中三种生成随机数方法

乐正浩言
2023-03-14
本文向大家介绍浅谈iOS中三种生成随机数方法,包括了浅谈iOS中三种生成随机数方法的使用技巧和注意事项,需要的朋友参考一下

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

//第一种
srand((unsigned)time(0)); //不加这句每次产生的随机数不变
int i = rand() % 5;
//第二种
srandom(time(0));
int i = random() % 5;
//第三种
int i = arc4random() % 5 ; 

注:

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

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

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

附:arc4random() 常用方法集合

//获取一个随机整数范围在:[0,100)包括0,不包括100
int x = arc4random() % 100;
//获取一个随机数范围在:[500,1000),包括500,不包括1000
int y = (arc4random() % 501) + 500;
//获取一个随机整数,范围在[from,to),包括from,不包括to
-(int)getRandomNumber:(int)from to:(int)to
{
  return (int)(from + (arc4random() % (to – from + 1)));
} 

以上所述就是本文的全部内容了,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍C#中获取、生成随机数的三种方法,包括了C#中获取、生成随机数的三种方法的使用技巧和注意事项,需要的朋友参考一下 随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数. 这种随机数可

  • 本文向大家介绍Erlang中3种生成随机数的方法,包括了Erlang中3种生成随机数的方法的使用技巧和注意事项,需要的朋友参考一下 erlang有三个生产随机数的办法 random:uniform(). 这个函数是erlang库random模块提供的。一般都采用这个。 erlang:now(). 用当前时间作为随机相信很多人都做过吧。所以如果你没有太多的要求,当然也可以这么做。 crypto:st

  • 本文向大家介绍js生成随机颜色方法代码分享(三种),包括了js生成随机颜色方法代码分享(三种)的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍JavaScript根据种子生成随机数实现方法,包括了JavaScript根据种子生成随机数实现方法的使用技巧和注意事项,需要的朋友参考一下 在前端开发中,尤其是游戏开发,经常会用到随机数,那么我们会第一时间想到:Math.random,大家略微的看看如下代码: 运行如上代码,也确实生成了10个不同的数字,当然你可以生成更多,看起来挺不错的,如果仅仅如此,那么本文就没必要写了。 试着

  • 问题内容: 我在这里有一些东西,但是我无法按照自己的喜好工作: 上面的位生成数字,但是它们可以相同。下面的代码可以解决此问题,但不能,但是似乎可以减少这种可能性: 很明显,它只是打印它们。 问题答案: 您可以用来从可迭代对象中获取任意数量的唯一“随机”项-无需使用嵌套循环: