Как выбрать диапазон значений при использовании arc4random ()

Могу ли я установить диапазон чисел при использовании arc4random ()? Например только 50-100.

41
задан Vadim Kotov 15 September 2017 в 16:14
поделиться

1 ответ

Как указано в других сообщениях ниже, лучше использовать arc4random_uniform . (Когда этот ответ был первоначально написан, arc4random_uniform был недоступен). Помимо исключения смещения по модулю arc4random ()% x , он также позволяет избежать проблемы с заполнением с arc4random при рекурсивном использовании на коротких таймфреймах.

arc4random_uniform(4)

сгенерирует 0, 1, 2 или 3. Таким образом, вы можете использовать:

arc4random_uniform(51)

и просто добавить 50 к результату, чтобы получить диапазон от 50 до 100 (включительно).

71
ответ дан 27 November 2019 в 00:13
поделиться