objective-c 中随机数的用法 (rand()、arc4random() 、random()、CCRANDOM_0_1() )

本文介绍了Objective-C中四种常用的随机数生成方法:arc4random()、random()、rand()以及CCRANDOM_0_1()。arc4random()精度最高且无需设置种子,而random()和rand()在使用前需调用srandom()。arc4random()返回值范围更大,适用于需要更高精度的情况。文中给出了各种方法的示例代码,包括生成不同范围整数和浮点数的方法。
摘要由CSDN通过智能技术生成
1、随机数的使用
   1)、arc4random() 比较精确不需要生成随即种子
      使用方法 :
                通过arc4random() 获取0到x-1之间的整数的代码如下:
                 int value = arc4random() % x; 
                 获取1到x之间的整数的代码如下:
                 int value = (arc4random() % x) + 1;
       2)、CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1]
       使用方法:
        float random = CCRANDOM_0_1() * 5; //[0,5]   CCRANDOM_0_1() 取值范围是[0,1]
        3)、random() 需要初始化时设置种子
      使用方法:
        srandom((unsigned int)time(time_t *)NULL); //初始化时,设置下种子就好了。
2、
1、iphone有几个内嵌的随机数发生器,如rand()、random()、arc4random()
其精确程度为
arc4random()  >  random()  >  rand()
可以由其原型进行推断
int rand();
long random();
u_int32_t arc4random();
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);
2)、获取1到x之间的整数的代码如下:
int value = (arc4random() % x) + 1;
其中,根据预算优先级括号实际是不需要的,但还是应该对括号格外小心。
3)、如果想生成一个浮点数,可以在项目中定义如下宏:
#define ARC4RANDOM_MAX      0x100000000
然后就可以使用arc4random() 来获取0到100之间浮点数了(精度是rand()的两倍),代码如下:
double val = floorf(((double)arc4random() / ARC4RANDOM_MAX) * 100.0f);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值