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
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
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.
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.
Ustaw zakres i liczbę, wygeneruj.
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.