Как сгенерировать случайное число - PullRequest
0 голосов
/ 13 марта 2012

Я работаю над приложением калькулятора.Для меня все операции очищены, кроме «ранда».Может ли кто-нибудь сказать мне, как генерировать случайное число некоторого числа, выбрав rand.

Например, сначала я выбираю один (1), а затем ранд ... если это так, должно отображаться случайное число один (1).

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

В объективе C вы должны использовать (от 0 до 1)

int r = arc4random() % 10;

float r2 = r/10

Представьте, что вам нужно число от 0 до 50 с десятичными знаками, тогда вы должны сделать:

int r = arc4random()%50*100;
float r2 = r/100;

Вы получите что-то вроде 40.123

0 голосов
/ 13 марта 2012

Проверьте синопсис ...

БИБЛИОТЕКА Стандартная библиотека 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-коробки. S-блоки могут находиться в состоянии (2 * 1700). Функция arc4random () возвращает псевдо- случайные числа в диапазоне от 0 до (2 * 32) -1, и, следовательно, имеют двойной диапазон рандов (3) и случайным образом (3). * * 1 010

 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))
0 голосов
/ 13 марта 2012

NSInteger num = (arc4random ()% maxnumber) + 1;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...