我正在研究计算器应用程序。对我来说,所有操作都被清除,除了“rand”。任何人都可以通过选择rand告诉我如何生成某个数字的随机数。
例如 最初我选择一个(1)然后选择兰德......如果是这样的话,它必须显示一个随机数(1)。
答案 0 :(得分:2)
在objective-C中你应该使用(在0和1之间)
int r = arc4random() % 10;
float r2 = r/10
想象一下,你想要一个0到50之间带小数的数字,那么你应该这样做:
int r = arc4random()%50*100;
float r2 = r/100;
你会得到像40.123
这样的东西答案 1 :(得分:0)
NSInteger num =(arc4random()%maxnumber)+ 1;
答案 2 :(得分:0)
检查概要......
LIBRARY 标准C库(libc,-lc)
概要 #include
u_int32_t
arc4random(void);
void
arc4random_stir(void);
void
arc4random_addrandom(unsigned char *dat, int datlen);
说明 arc4random()函数使用arc4密码使用的密钥流生成器,它使用8 * 8 8 位S-Boxes。 S-Box可以处于大约(2 * 1700)状态。 arc4random()函数返回伪 - 随机数在0到(2 * 32)-1的范围内,因此具有两倍的rand(3)和 随机(3)。
The arc4random_stir() function reads data from /dev/urandom and uses it to permute the S-Boxes via
arc4random_addrandom().
There is no need to call arc4random_stir() before using arc4random(), since arc4random() automatically
initializes itself.
实施例 以下代码使用传统的rand()和random()函数替换 arc4random():
#define foo4random() (arc4random() % ((unsigned)RAND_MAX + 1))