banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

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))

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。