Home > 移动互联, 算法研究, 语言编程 > iOS开发之Objective-c几种不同的随机数算法(arc4random,random,srandom)

iOS开发之Objective-c几种不同的随机数算法(arc4random,random,srandom)

Objective-c并没有直接提供随机数据生成的函数或方法,不过我们可以直接利用c的各种随机算法
以下是几种常见的随机数算法的使用,可以参照以下头文件
stdlib.h

arc4random
不需要随机种子,在调用时自动生成随机种子
返回[0,X)的集合
int value = arc4random() % x;
返回[1,X]的集合
int value = (arc4random() % x) + 1;


random()/rand()
不使用种子随机数,返回long/int范围内的任意一个数
注意这里的 random返回long rand返回int

srandom(unsigned)/srand(unsigned)
使用随机种子,返回参数到RAND_MAX之间的任意一个数
注意这里的 srandon可以使用 unsigned long作为参数

需要注意的是,rand系列随机数使用的是伪随机算法,调用时建议使不同的用随机种子
例如:
srand(time(NULL))

  1. No comments yet.
  1. No trackbacks yet.