iOS 随机数的产生

来源:互联网 发布:天方盐酸氮芥酊淘宝 编辑:程序博客网 时间:2024/06/06 04:40

iphone有几个内嵌的随机数发生器,如rand()random()arc4random()
其精确程度为

arc4random()  >  random()  >  rand()

可以由其原型进行推断

  • int rand();
  • long random();
  • u_int32_t arc4random();

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

srandom(time(NULL));

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

几个调用arc4random()的示例:

  • 通过arc4random() 获取0到x之间的整数的代码如下:
int value = arc4random() % (x+1);
  • 如果想生成一个浮点数,可以在项目中定义如下宏:
    #define ARC4RANDOM_MAX 0x100000000
    然后就可以使用arc4random() 来获取0到100之间浮点数了(精度是rand()的两倍),代码如下:
double val = floorf(((double)arc4random() / ARC4RANDOM_MAX) * 100.0f); 
0 0
原创粉丝点击