Darmowy konwerter

Liczba losowa Generatora

Natychmiast generuj losowe liczby w swojej przeglądarce. Dostosuj zakres, liczbę i format. Bezpłatne, prywatne i bez wysyłania danych na żaden serwer.

Wygeneruj

O tym narzędziu

Generatory liczb losowych generują liczby z określonego zakresu bez przewidywalnego wzorca. Typowe zastosowania obejmują rzucanie kostką, wybieranie numerów loterii, pobieranie próbek do prac statystycznych, generowanie danych testowych i wszelkie konteksty, w których potrzebny jest bezstronny wybór. Jakość losowości zależy od źródła: słabe źródła mogą generować liczby, które wyglądają na losowe, ale mają wykrywalne wzorce; mocne źródła są nieprzewidywalne nawet dla wyrafinowanych analiz.

Ten generator wykorzystuje kryptograficznie bezpieczne losowe źródło przeglądarki (window.crypto.getRandomValues) do zastosowań związanych z bezpieczeństwem, z opcjonalnym mechanizmem rezerwowym Math.random do zastosowań rozrywkowych, gdzie szybkość jest ważniejsza niż bezpieczeństwo. W przypadku rzutów kośćmi, wyborów konkursowych lub czegokolwiek, co ma wpływ na wyniki, właściwym wyborem będzie bezpieczne źródło.

Zakres wyjściowy i liczba są konfigurowalne. Wygeneruj jedną liczbę, kilka na raz lub sekwencję z opcjonalną unikalnością (bez duplikatów). Formaty wyjściowe obejmują zwykłe liczby, listy rozdzielane przecinkami i tekst w jednym wierszu.

Po co generować liczby losowe

Wiele małych decyzji opiera się na bezstronnym doborze losowym. Wybór zwycięzcy konkursu, decyzja, którą restaurację wypróbować, losowa kolejność przypadków testowych, próbkowanie wierszy ze zbioru danych — wszystko to usprawnia generator liczb losowych, który wyklucza ludzką stronniczość.

Prace statystyczne i naukowe zależą również od losowości jakościowej. Symulacje Monte Carlo, przypisywanie segmentów testów A/B, randomizacja danych wejściowych testów i wiele innych technik wymagają liczb, które są statystycznie jednolite i nieprzewidywalne dla badanego systemu.

Jak używać

Ustaw zakres i liczbę, wygeneruj.

  1. Ustaw zakres: Wartości minimalne i maksymalne definiują zakres obejmujący. Obydwa punkty końcowe są możliwymi wynikami.
  2. Wybierz liczbę: Liczba wartości do wygenerowania. Pojedyncze wartości dla jednorazowych wyborów; generowanie zbiorcze do pobierania próbek lub danych testowych.
  3. Skonfiguruj wyjątkowość: Zezwalaj na duplikaty (każdy wybór jest niezależny) lub wymagaj unikalnych wartości (próbka bez wymiany). Unikalne wartości wymagają, aby liczba miała co najwyżej rozmiar zakresu.
  4. Wygeneruj: Przeglądarka generuje wartości. Formaty wyświetlania: lista oddzielona przecinkami, jedna w wierszu lub zwykłe liczby, w zależności od przypadku użycia.

Typowe przypadki użycia

Szczegóły techniczne

Losowe generowanie liczb całkowitych: pobierz losowy bajt (lub słowo) z crypto.getRandomValues, zastosuj próbkowanie odrzucające, aby uniknąć błędu modulo, zmapuj do żądanego zakresu. Zwykłe próbkowanie modulo bez odrzucenia powoduje niewielkie odchylenie w przypadku zakresów, które nie dzielą się równomiernie na zakres źródła; pobieranie próbek przez odrzucenie pozwala tego uniknąć.

Generowanie jednolitych liczb całkowitych bez odchyleń: wygeneruj losowy bajt, jeśli bajt > podłoga (256/zakres) × zakres, odrzuć i spróbuj ponownie, w przeciwnym razie zwróć zakres mod bajtu. Współczynnik odrzuceń wynosi średnio co najwyżej 50%, więc algorytm jest praktycznie szybki nawet w przypadku niewygodnych zakresów.

Math.random vs crypto.getRandomValues: Math.random jest szybszy, ale używa xorshift lub podobnych PRNG, które można przewidzieć przy wystarczającej wydajności. crypto.getRandomValues ​​jest kryptograficznie bezpieczne. Do zastosowań niezwiązanych z bezpieczeństwem (kości, zwykłe typy) działa albo; dla bezpieczeństwa użyj krypto.

Najlepsze praktyki

Często zadawane pytania

Czy mogę dostosować wygenerowane dane wyjściowe?
Tak. Narzędzie zapewnia różne opcje dostosowywania, aby dostosować wydruk do konkretnych potrzeb. Dostosuj ustawienia przed wygenerowaniem lub wygeneruj ponownie, korzystając z różnych opcji.
Czy wygenerowane treści są bezpłatne?
Tak. Wszystko, co wygenerujesz za pomocą tego narzędzia, jest Twoją własnością i możesz z niego korzystać w celach osobistych, edukacyjnych lub komercyjnych, bez żadnych ograniczeń i wymagań dotyczących autorstwa.
Czy to wymaga konta?
Nie. Narzędzie jest gotowe do użycia od razu, bez rejestracji, bez e-maila i bez rejestracji. Wystarczy otworzyć stronę i rozpocząć generowanie.
Czy moje dane wejściowe są poufne?
Tak. Całe przetwarzanie odbywa się w Twojej przeglądarce. Twoje dane wejściowe i wygenerowane dane wyjściowe nigdy nie są wysyłane do żadnego serwera zewnętrznego.
Czy mogę generować ułamki dziesiętne?
Większość generatorów domyślnie oferuje tryb liczb całkowitych. Tryb dziesiętny generuje liczby zmiennoprzecinkowe w zakresie; precyzja zależy od podstawowego źródła losowego.
Czy losowe źródło jest takie samo w różnych przeglądarkach?
Implementacja jest różna, ale wszystkie nowoczesne przeglądarki zapewniają kryptograficznie bezpieczne losowe dane za pośrednictwem getRandomValues. Jakość jest porównywalna.
Czy moje dane zostały przesłane?
Nie. Generowanie odbywa się w Twojej przeglądarce.
Czy mogę zasiać losowe źródło w celu zapewnienia powtarzalności?
Źródła bezpieczne kryptograficznie nie podlegają zasiewowi (co mogłoby zniweczyć bezpieczeństwo). Aby uzyskać powtarzalną losowość, użyj osobnego PRNG z wybranym materiałem siewnym; nieodpowiednie do celów konkursowych lub związanych z bezpieczeństwem.