Generator liczb losowych

Losowe liczby
Dalej

Generuj liczby losowe w dowolnym zakresie, jaki podasz. Wybierz liczby całkowite lub dziesiętne, ustaw minimum i maksimum, wskaż, ile liczb potrzebujesz za jednym razem i czy dozwolone są powtórzenia. Działa na kryptograficznym generatorze liczb losowych przeglądarki, więc wynik przechodzi statystyczne testy losowości.

Jak generować liczby losowe

  1. 1

    Ustaw zakres

    Minimum i maksimum są włącznie. Oba mogą być ujemne.

  2. 2

    Wybierz typ

    Liczby całkowite lub dziesiętne. Dla dziesiętnych wybierz, ile cyfr pokazać.

  3. 3

    Ustaw liczbę i unikalność

    Zezwól na powtórzenia (niezależne losowania) albo wymagaj unikalności (żadna liczba nie pojawia się dwa razy).

  4. 4

    Generuj

    Liczby pojawiają się oddzielone przecinkami albo po jednej na linię, zależnie od trybu kopiowania.

Co oznacza tu „losowy”

Narzędzie używa Web Crypto API (crypto.getRandomValues), które czerpie z puli entropii systemu operacyjnego. Dla zakresów mieszczących się w 32 bitach jest to nieodróżnialne od prawdziwej losowości w każdym praktycznym zastosowaniu, przechodzi pakiety dieharder i TestU01.

Dla bardzo małych zakresów (2-255) narzędzie stosuje próbkowanie z odrzucaniem, aby uniknąć błędu modulo, który w innym wypadku sprawiałby, że niektóre liczby byłyby nieco bardziej prawdopodobne.

Typowe zastosowania

Zastosowanie Ustawienie
Rzut kością (k6) Całkowite 1-6
Makieta lotto (6 z 49) Całkowite 1-49, liczba 6, unikalne
Dane testowe (identyfikatory) Całkowite 1000-9999, unikalne
Symulacja ułamkowa Dziesiętne 0-1, 6 cyfr
Rzut monetą Całkowite 0-1
Wybierz zwycięzcę z N osób Całkowite 1-N, liczba 1

Zastosowania regulowane

W każdym kontekście z wymaganiami prawnymi lub audytowymi (hazard, oficjalne losowania, klucze kryptograficzne) użyj certyfikowanego generatora z zapisem pochodzenia. Generatory w przeglądarce są znakomite, ale nie są certyfikowane.

Najczęściej zadawane pytania

Jeśli weźmiesz 32-bitową liczbę losową modulo 10, ostatnie kilka wartości z zakresu 32-bitowego daje nieco więcej zer niż dziewiątek. Dla małych zakresów błąd jest pomijalny; dla uczciwości na poziomie hazardu użyj próbkowania z odrzucaniem (co to narzędzie robi).

Nie. Web Crypto API nie przyjmuje ziarna: tak jest zaprojektowane. Dla powtarzalności (współdzielone dane testowe, eksperymenty naukowe) użyj zamiast tego biblioteki PRNG z ziarnem.

Do 2^53 - 1 dla bezpiecznych liczb całkowitych, co pokrywa praktycznie każde niekryptograficzne zastosowanie. Dla dowolnej precyzji użyj dedykowanego narzędzia do dużych liczb całkowitych.

Tak: zarówno minimum, jak i maksimum są zawarte w zakresie wyniku, z dokładnością do wyświetlanej liczby cyfr.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach