随机数

作者: 纯阳子_ | 来源:发表于2016-09-01 21:54 被阅读11次

我的摘要:

1、iphone有几个内嵌的随机数发生器,如rand()、random()、arc4random()

其精确程度为

arc4random()>random()>rand()

可以由其原型进行推断

int rand();

long random();

u_int32_tarc4random();

2、rand()和random()在使用之前需要先初始化随机种子,即调用

srandom(time(NULL));

arc4random()不需要生成随机种子,因为第一次调用的时候就会自动生成。

3、在iPhone中,RAND_MAX是0x7fffffff

(2147483647),而arc4random()返回的最大值则是 0x100000000

(4294967296),从而有更好的精度。

4、几个调用arc4random()的示例:

1)、通过arc4random() 获取0到x之间的整数的代码如下:

int value = arc4random() % (x+1);

//转载网址

//http://blog.sina.com.cn/s/blog_676a43720101988l.html

2)、获取1到x之间的整数的代码如下:

int value = (arc4random() % x) + 1;

其中,根据预算优先级括号实际是不需要的,但还是应该对括号格外小心。

3)、如果想生成一个浮点数,可以在项目中定义如下宏:

#define ARC4RANDOM_MAX0x100000000

然后就可以使用arc4random()

来获取0到100之间浮点数了(精度是rand()的两倍),代码如下:

double val = floorf(((double)arc4random() /ARC4RANDOM_MAX) * 100.0f);

相关文章

  • 密码学基础之伪随机数

    随机数分类 真随机数 伪随机数2.1 强伪随机数2.2 弱伪随机数 真随机数:其定义为随机样本不可重现。实际上只要...

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • 无处不在的随机数

    目录: 什么是随机数 随机数分类 伪随机数生成器 真随机数生成器 各种语言中的随机数 使用系统时间作为种子是否安全...

  • Python Random库的使用

    random库用于生成随机数 基本随机数函数: seed(), random() 扩展随机数函数: randint...

  • Unity3D利用随机数种子每次产生同样的随机数

    一般计算机的随机数都是伪随机数,以一个真随机数(随机数种子)作为初始条件,然后用一定的算法不停迭代产生随机数。Un...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • Python笔记:Numpy常用方法-2

    Numpy随机函数 # 指定随机数种子,相同的随机数种子,生成相同的随机数 np.random.seed(10) ...

  • 喵神swifter学习笔记

    1、随机数 不需要随机数种子 arc4random()%N + begin:产生begin~begin+N的随机数...

  • 概率简要学习记录

    随机数问题 构造均匀的随机数发生器 要等概率才可以丢掉 不均匀的随机数产生器 采样问题 水库采样利用数组和随机数取...

  • JS生成随机数

    min到max的随机数 0到max的随机数

网友评论

      本文标题:随机数

      本文链接:https://www.haomeiwen.com/subject/mjeslttx.html