Безплатен конвертор

Случайно число Генератор

Генерирайте незабавно произволни числа във вашия браузър. Персонализирайте диапазона, броя и формата. Безплатно, лично и без изпращане на данни към сървър.

Генерирай

За този инструмент

Генераторите на произволни числа произвеждат числа в определен диапазон без предвидим модел. Обичайните приложения включват хвърляне на зарове, избиране на лотарийни числа, вземане на проби за статистическа работа, генериране на тестови данни и всеки контекст, където е необходим безпристрастен избор. Качеството на случайността зависи от източника: слабите източници могат да произведат числа, които изглеждат случайни, но имат откриваеми модели; силните източници са непредвидими дори за сложен анализ.

Този генератор използва криптографски защитен произволен източник на браузъра (window.crypto.getRandomValues) за приложения, свързани със сигурността, с незадължителен резервен Math.random за развлекателни приложения, където скоростта има повече значение от сигурността. За хвърляния на зарове, избори на състезания или нещо, което влияе върху резултатите, сигурният източник е правилният избор.

Изходният диапазон и броят са конфигурируеми. Генерирайте едно число, няколко наведнъж или последователност с незадължителна уникалност (без дубликати). Изходните формати включват обикновени числа, списъци, разделени със запетая, и текст един на ред.

Защо да генерираме произволни числа

Много малки решения се възползват от безпристрастен случаен подбор. Избиране на победител за състезание, решаване кой ресторант да опитате, рандомизиране на реда на тестовите случаи, вземане на проби от набор от данни - всичко това се подобрява от генератор на произволни числа, който изключва човешката пристрастност.

Статистическата и научната работа също зависи от качествената произволност. Симулациите на Монте Карло, присвояването на A/B тестова кофа, рандомизирането на тестови входове и много други техники се нуждаят от числа, които са статистически еднакви и непредвидими за изследваната система.

Как да използвате

Задайте диапазон и брой, генерирайте.

  1. Задайте диапазона: Минималните и максималните стойности определят включващия диапазон. И двете крайни точки са възможни резултати.
  2. Изберете брой: Брой стойности за генериране. Единични стойности за еднократни избори; групово генериране за вземане на проби или тестови данни.
  3. Конфигурирайте уникалността: Позволете дубликати (всеки избор е независим) или изисквайте уникални стойности (проба без замяна). Уникалните стойности изискват брой да бъде най-много размера на диапазона.
  4. Генерирай: Браузърът произвежда стойностите. Формати на показване: списък, разделен със запетая, по едно на ред или обикновени числа в зависимост от случая на употреба.

Обичайни случаи на употреба

Технически подробности

Генериране на произволно цяло число: вземете произволен байт (или дума) от crypto.getRandomValues, приложете вземане на проби за отхвърляне, за да избегнете отклонение по модула, съпоставете към желания диапазон. Обикновеното модулно вземане на проби без отхвърляне създава леко отклонение за диапазони, които не се разделят равномерно в диапазона на източника; вземането на проби за отхвърляне избягва това.

Генериране на унифицирано цяло число без пристрастия: генерира произволен байт, ако байт > floor(256/диапазон) × диапазон, отхвърлете и опитайте отново, в противен случай върнете модифицирания диапазон на байта. Степента на отхвърляне е най-много 50% средно, така че алгоритъмът е практически бърз дори за неудобни диапазони.

Math.random срещу crypto.getRandomValues: Math.random е по-бърз, но използва xorshift или подобни PRNG, които могат да бъдат предвидени при достатъчен изход. crypto.getRandomValues ​​е криптографски защитен. За използване, което не е свързано със сигурността (зарове, случайно избиране), работи; за сигурност използвайте крипто.

Най-добри практики

Често задавани въпроси

Мога ли да персонализирам генерирания изход?
да Инструментът предоставя различни опции за персонализиране, за да приспособите изхода към вашите специфични нужди. Коригирайте настройките преди генериране или регенерирайте с различни опции.
Безплатно ли е за използване генерираното съдържание?
да Всичко, което генерирате с този инструмент, е ваше за използване за лични, образователни или търговски цели без никакви ограничения или изисквания за приписване.
Това изисква ли акаунт?
Не. Инструментът е готов за използване веднага без регистрация, имейл и регистрация. Просто отворете страницата и започнете да генерирате.
Моите входни данни пазят ли се поверителни?
да Цялата обработка се извършва във вашия браузър. Вашите входни данни и генериран изход никога не се изпращат до външен сървър.
Мога ли да генерирам десетични знаци?
Повечето генератори предлагат целочислен режим по подразбиране. Десетичният режим генерира плаващи числа в диапазона; точността зависи от основния случаен източник.
Случайният източник еднакъв ли е в различните браузъри?
Внедряването се различава, но всички съвременни браузъри предоставят криптографски защитен произволен чрез getRandomValues. Качеството е сравнимо.
Данните ми качени ли са?
Не. Генерирането става във вашия браузър.
Мога ли да заредя произволния източник за възпроизводимост?
Криптографски защитените източници не могат да се зареждат (това би нарушило сигурността). За възпроизводимо произволно, използвайте отделен PRNG с избрано семе; не е подходящо за състезания или за сигурност.