Случайное Число Генератор
Генерируйте случайные числа мгновенно в браузере. Настройте диапазон, количество и формат. Бесплатно, конфиденциально, данные не отправляются на сервер.
Генерировать
Генерируйте случайные числа мгновенно в браузере. Настройте диапазон, количество и формат. Бесплатно, конфиденциально, данные не отправляются на сервер.
Генерировать
Генераторы случайных чисел выдают числа в заданном диапазоне без предсказуемого шаблона. Общие приложения включают бросок игральных костей, выбор чисел лотереи, выборку для статистической работы, создание тестовых данных и любой контекст, где необходим объективный выбор. Качество случайности зависит от источника: слабые источники могут давать числа, которые выглядят случайными, но имеют обнаруживаемые закономерности; сильные источники непредсказуемы даже для сложного анализа.
Этот генератор использует криптографически безопасный случайный источник браузера (window.crypto.getRandomValues) для целей, связанных с безопасностью, с дополнительным резервным вариантом Math.random для развлекательных целей, где скорость важнее безопасности. Для бросков кубиков, выборов в соревнованиях и всего, что влияет на результаты, безопасный источник — правильный выбор.
Выходной диапазон и количество настраиваются. Сгенерируйте одно число, несколько одновременно или последовательность с опциональной уникальностью (без дубликатов). Форматы вывода включают простые числа, списки, разделенные запятыми, и построчный текст.
Многие небольшие решения выигрывают от беспристрастного случайного выбора. Выбор победителя конкурса, решение, какой ресторан попробовать, рандомизация порядка тестовых случаев, выборка строк из набора данных — все это улучшается с помощью генератора случайных чисел, исключающего человеческую предвзятость.
Статистическая и научная работа также зависит от качества случайности. Моделирование Монте-Карло, назначение сегментов A/B-тестов, рандомизация тестовых входных данных и многие другие методы требуют чисел, которые статистически однородны и непредсказуемы для изучаемой системы.
Установите диапазон и количество, сгенерируйте.
Генерация случайных целых чисел: получите случайный байт (или слово) из crypto.getRandomValues, примените выборку отклонения, чтобы избежать смещения по модулю, сопоставьте его с желаемым диапазоном. Обычный модуль без выборки с отклонением дает небольшое смещение для диапазонов, которые не делятся поровну на диапазон источника; Отбраковочная выборка позволяет избежать этого.
Генерация однородного целого числа без смещения: генерация случайного байта, если байт > пол (256/диапазон) × диапазон, отклоните и повторите попытку, в противном случае верните диапазон модификаций байтов. В среднем процент отказов составляет не более 50%, поэтому алгоритм практически быстр даже для неудобных диапазонов.
Math.random против crypto.getRandomValues: Math.random работает быстрее, но использует xorshift или аналогичные ГПСЧ, которые можно предсказать при достаточном объеме вывода. crypto.getRandomValues является криптографически безопасным. Для использования, не связанного с безопасностью (игры в кости, случайные выборы), подойдет любой вариант; в целях безопасности используйте криптовалюту.