如何生成随机数

时间:2012-03-13 13:32:04

标签: objective-c

我正在研究计算器应用程序。对我来说,所有操作都被清除,除了“rand”。任何人都可以通过选择rand告诉我如何生成某个数字的随机数。

例如 最初我选择一个(1)然后选择兰德......如果是这样的话,它必须显示一个随机数(1)。

3 个答案:

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