Número Aleatório Gerador
Gere números aleatórios instantaneamente no seu navegador. Personalize o intervalo, a quantidade e o formato. Gratuito, privado e sem envio de dados para nenhum servidor.
Gerar
Gere números aleatórios instantaneamente no seu navegador. Personalize o intervalo, a quantidade e o formato. Gratuito, privado e sem envio de dados para nenhum servidor.
Gerar
Os geradores de números aleatórios produzem números dentro de um intervalo especificado sem nenhum padrão previsível. As aplicações comuns incluem lançamento de dados, escolha de números de loteria, amostragem para trabalho estatístico, geração de dados de teste e qualquer contexto onde uma escolha imparcial seja necessária. A qualidade da aleatoriedade depende da fonte: fontes fracas podem produzir números que parecem aleatórios, mas possuem padrões detectáveis; fontes fortes são imprevisíveis até mesmo para análises sofisticadas.
Este gerador usa a fonte aleatória criptograficamente segura do navegador (window.crypto.getRandomValues) para usos relevantes à segurança, com fallback Math.random opcional para usos de entretenimento onde a velocidade é mais importante do que a segurança. Para lançamentos de dados, escolhas em concursos ou qualquer coisa que afete os resultados, a fonte segura é a escolha certa.
A faixa e a contagem de saída são configuráveis. Gere um número, vários de uma vez ou uma sequência com exclusividade opcional (sem duplicatas). Os formatos de saída incluem números simples, listas separadas por vírgulas e texto um por linha.
Muitas pequenas decisões se beneficiam da seleção aleatória imparcial. Escolher um vencedor para um concurso, decidir qual restaurante experimentar, randomizar a ordem dos casos de teste, amostrar linhas de um conjunto de dados – tudo isso é aprimorado por um gerador de números aleatórios que exclui preconceitos humanos.
O trabalho estatístico e científico também depende da aleatoriedade da qualidade. Simulações de Monte Carlo, atribuição de testes A/B, randomização de entradas de teste e muitas outras técnicas precisam de números que sejam estatisticamente uniformes e imprevisíveis para o sistema que está sendo estudado.
Defina o intervalo e conte, gere.
Geração de número inteiro aleatório: obtenha um byte aleatório (ou palavra) de crypto.getRandomValues, aplique amostragem de rejeição para evitar polarização de módulo, mapeie para o intervalo desejado. O módulo simples sem amostragem de rejeição produz um leve viés para faixas que não se dividem uniformemente na faixa da fonte; a amostragem de rejeição evita isso.
Geração de número inteiro uniforme e livre de polarização: gere um byte aleatório, se byte > floor(256/range) × range, rejeite e tente novamente, caso contrário, retorne o byte mod range. A taxa de rejeição é de no máximo 50% em média, então o algoritmo é praticamente rápido mesmo para faixas estranhas.
Math.random vs crypto.getRandomValues: Math.random é mais rápido, mas usa xorshift ou PRNGs semelhantes que podem ser previstos com resultados suficientes. crypto.getRandomValues é criptograficamente seguro. Para uso não relacionado à segurança (dados, escolhas casuais), ambos funcionam; por segurança, use criptografia.