Slučajni broj Generator
Generirajte nasumične brojeve odmah u svom pregledniku. Prilagodite raspon, broj i format. Besplatno, privatno i bez podataka koji se šalju bilo kojem poslužitelju.
Generiraj
Generirajte nasumične brojeve odmah u svom pregledniku. Prilagodite raspon, broj i format. Besplatno, privatno i bez podataka koji se šalju bilo kojem poslužitelju.
Generiraj
Generatori slučajnih brojeva proizvode brojeve unutar određenog raspona bez predvidljivog uzorka. Uobičajene primjene uključuju bacanje kockica, odabir brojeva na lutriji, uzorkovanje za statistički rad, generiranje testnih podataka i bilo koji kontekst u kojem je potreban nepristran izbor. Kvaliteta slučajnosti ovisi o izvoru: slabi izvori mogu proizvesti brojeve koji izgledaju slučajno, ali imaju uzorke koji se mogu otkriti; jaki izvori su nepredvidivi čak i za sofisticiranu analizu.
Ovaj generator koristi kriptografski siguran nasumični izvor preglednika (window.crypto.getRandomValues) za sigurnosno važne upotrebe, s opcijskim rezervnim Math.random za zabavne upotrebe gdje je brzina važnija od sigurnosti. Za bacanje kockica, odabire natjecanja ili bilo što što utječe na ishode, sigurni izvor je pravi izbor.
Izlazni raspon i broj se mogu konfigurirati. Generirajte jedan broj, nekoliko odjednom ili niz s izbornom jedinstvenošću (bez duplikata). Izlazni formati uključuju obične brojeve, popise odvojene zarezima i tekst jedan po retku.
Mnoge male odluke imaju koristi od nepristranog slučajnog odabira. Odabir pobjednika za natjecanje, odlučivanje koji restoran probati, nasumično određivanje redoslijeda testnih slučajeva, uzorkovanje redaka iz skupa podataka — sve je poboljšano generatorom slučajnih brojeva koji isključuje ljudsku pristranost.
Statistički i znanstveni rad također ovisi o nasumičnosti kvalitete. Monte Carlo simulacije, dodjela A/B testnih paketa, randomizacija testnih ulaza i mnoge druge tehnike zahtijevaju brojeve koji su statistički uniformni i nepredvidivi za sustav koji se proučava.
Postavite raspon i brojanje, generirajte.
Nasumično generiranje cijelog broja: uzmite nasumični bajt (ili riječ) iz crypto.getRandomValues, primijenite uzorkovanje odbijanja kako biste izbjegli modulo pristranost, preslikajte na željeni raspon. Običan modulo bez odbijanja uzorkovanja proizvodi blagu pristranost za raspone koji se ne dijele ravnomjerno na raspon izvora; odbijanjem uzorkovanja se to izbjegava.
Uniformno generiranje cijelog broja bez pristranosti: generirajte nasumični bajt, ako je bajt > kat (256/raspon) × raspon, odbacite i pokušajte ponovo, inače vratite modificirani raspon bajta. Stopa odbijanja je u prosjeku najviše 50%, tako da je algoritam praktički brz čak i za nezgodne raspone.
Math.random u odnosu na crypto.getRandomValues: Math.random je brži, ali koristi xorshift ili slične PRNG-ove koji se mogu predvidjeti uz dovoljan izlaz. crypto.getRandomValues je kriptografski siguran. Za upotrebu koja nije vezana za sigurnost (kockice, povremeni izbori), radi; radi sigurnosti koristite kripto.