Как генерировать случайные числа на iPhone?
каков наилучший способ генерации случайных чисел с помощью Objective C на iPhone?
Если я использую (int)((double) rand() / ((double)(RAND_MAX) + (double) 1) * 5.0)
чтобы сгенерировать число от 0 до 4, каждый раз, когда я запускаю программу на iPhone, она генерирует одни и те же числа для начала.
6 ответов
есть очень похожий вопрос здесь, на StackOverFlow. Вот одно из лучших решений (нет необходимости в посеве):
int r = arc4random() % 5;
Я использую
#define RANDOM_SEED() srandom(time(NULL))
#define RANDOM_INT(__MIN__, __MAX__) ((__MIN__) + random() % ((__MAX__+1) - (__MIN__)))
таким образом, вы можете дать min и max
как случайный вам нужно? Если вы хотите достаточно случайного для криптографии, используйте SecRandomCopyBytes ().
простая функция для генерации случайных чисел:
int r = arc4random() % 42; // generate number up to 42 (limit)