您的位置:首页 > 其它

随机数方法

2016-04-08 15:10 162 查看

arc4random() 比较精确不需要生成随即种子(推荐)

使用方法 :

1>生成随机正整数

int value = arc4random()


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

int value = arc4random() % x;

3>获取1到x之间的整数的代码如下:

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

4>生成0-x之间的随机正整数,不需要再进行取模运算。

int value =arc4random_uniform(x + 1);


5>最后如果想生成一个浮点数,可以在项目中定义如下宏:

#define ARC4RANDOM_MAX      0x100000000


然后就可以使用arc4random() 来获取0到100之间浮点数了(精度是rand()的两倍),

代码如下:

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

实例:

-(float)randomFloatBetween:(float)num1 andLargerFloat:(float)num2
{
int startVal = num1*10000;
int endVal = num2*10000;
int randomValue = startVal +(arc4random()%(endVal - startVal));
float a = randomValue;
return(a /10000.0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: