Випадкове число Генератор
Миттєво генеруйте випадкові числа у своєму браузері. Налаштуйте діапазон, кількість і формат. Безкоштовно, конфіденційно, дані не надсилаються на сервери.
Генерувати
Миттєво генеруйте випадкові числа у своєму браузері. Налаштуйте діапазон, кількість і формат. Безкоштовно, конфіденційно, дані не надсилаються на сервери.
Генерувати
Генератори випадкових чисел створюють числа в заданому діапазоні без передбачуваного шаблону. Звичайні програми включають кидання кубиків, вибір лотерейних номерів, вибірку для статистичних робіт, генерацію тестових даних і будь-який контекст, де необхідний неупереджений вибір. Якість випадковості залежить від джерела: слабкі джерела можуть давати числа, які виглядають випадковими, але мають помітні шаблони; потужні джерела непередбачувані навіть для складного аналізу.
Цей генератор використовує криптографічно захищене випадкове джерело браузера (window.crypto.getRandomValues) для використання, пов’язаного з безпекою, з додатковим резервним варіантом Math.random для розваг, де швидкість важливіша за безпеку. Для кидків кубиків, виборів у змаганнях або будь-чого, що впливає на результати, безпечне джерело є правильним вибором.
Вихідний діапазон і кількість можна налаштувати. Генеруйте одне число, кілька одночасно або послідовність з необов'язковою унікальністю (без дублікатів). Формати виводу включають звичайні числа, списки, розділені комами, і текст один на рядок.
Багато невеликих рішень виграють від неупередженого випадкового вибору. Вибір переможця для конкурсу, вибір ресторану спробувати, рандомізація порядку тестів, вибірка рядків із набору даних — усе це покращено завдяки генератору випадкових чисел, який виключає упередженість людини.
Статистична та наукова робота також залежить від якісної випадковості. Моделювання за методом Монте-Карло, призначення сегментів тестів A/B, рандомізація вхідних даних тесту та багато інших методів потребують статистично однорідних і непередбачуваних для досліджуваної системи чисел.
Встановіть діапазон і кількість, згенеруйте.
Генерація випадкового цілого числа: отримати випадковий байт (або слово) із crypto.getRandomValues, застосувати вибірку відхилень, щоб уникнути зсуву за модулем, зіставити з бажаним діапазоном. Звичайна вибірка за модулем без відхилення створює невелике зміщення для діапазонів, які не розподіляються рівномірно на діапазон джерела; вибірка відхилення дозволяє уникнути цього.
Уніфіковане ціле число без зміщень: генеруйте випадковий байт, якщо байт > floor(256/діапазон) × діапазон, відхиліть і спробуйте знову, інакше поверніть модифікований діапазон байтів. Рівень відхилень становить у середньому не більше 50%, тому алгоритм практично швидкий навіть для незручних діапазонів.
Math.random проти crypto.getRandomValues: Math.random швидший, але використовує xorshift або подібні PRNG, які можна передбачити за достатнього виходу. crypto.getRandomValues є криптографічно безпечним. Для використання, не пов’язаного з безпекою (грашкові кубики, випадковий вибір), працює будь-який; для безпеки використовуйте крипто.