CCalculate.Studio

🎲 Gerador de números aleatórios

Este gerador extrai inteiros aleatórios do intervalo que escolher, opcionalmente sem repetições. Usa uma semente em vez do relógio, o que significa que a mesma semente reproduz sempre exatamente o mesmo sorteio — uma propriedade que importa no ensino, na investigação reproduzível e a quem precise de mostrar o seu método. Mude a semente para sortear de novo.

Última revisão: 2026-07-07100% gratuito · Sem cadastro
Adicionar como preferido no Google

Para que serve e para que não serve este gerador

Os geradores pseudoaleatórios diferem enormemente naquilo para que servem. Este é rápido, reproduzível e estatisticamente correto para uso corrente, e não é de todo uma fonte de segredos.

UtilizaçãoAdequado?Porquê
Ensino, simulações, amostragemSimSorteios reproduzíveis são uma vantagem
Escolher um vencedor, dados, números de lotariaSim, com uma semente novaQuem souber a semente reproduz o sorteio
Palavras-passe, chaves, tokens, identificadores de sessãoNãoO estado é recuperável a partir da saída; use o gerador de palavras-passe
Jogo regulado ou apostasNãoExigem hardware certificado ou geradores criptográficos
  • Ambos os extremos do intervalo estão incluídos, pelo que um intervalo de 1 a 100 contém 100 valores possíveis.
  • Sem reposição, o número de extrações não pode exceder o número de valores do intervalo. A calculadora recusa em vez de repetir em silêncio.

O que é um gerador pseudoaleatório

Um gerador de números pseudoaleatórios é um algoritmo determinístico que produz uma sequência que passa os testes estatísticos de aleatoriedade. Não é aleatório no sentido físico: é uma recorrência fixa e, a partir de um valor inicial dado — a semente —, produz sempre a mesma sequência.

Este é um gerador xorshift de 32 bits, publicado por George Marsaglia no Journal of Statistical Software em 2003. Funciona aplicando repetidamente o ou-exclusivo entre um valor e cópias deslocadas de si próprio, com um trio de deslocamentos escolhido para que a sequência percorra todos os estados de 32 bits não nulos antes de se repetir.

O uso de semente é deliberado e não uma limitação. Todas as calculadoras deste site são funções puras dos seus dados de entrada, e é isso que torna os resultados reproduzíveis e verificáveis. Dá-lhe ainda algo que um gerador baseado no relógio não pode dar: cite a semente ao lado dos seus números e qualquer pessoa reproduz o seu sorteio exatamente.

Como usar o gerador de números aleatórios

  1. Defina o valor mínimo e o máximo. Ambos os extremos estão incluídos no intervalo.
  2. Escolha quantos números extrair.
  3. Decida se são permitidas repetições. Sem reposição nenhum valor pode sair duas vezes, pelo que não pode extrair mais números do que o intervalo contém.
  4. Mude a semente sempre que quiser um sorteio diferente. A mesma semente devolve sempre os mesmos números.

Como se produzem os números

x = x XOR (x << 13); x = x XOR (x >> 17); x = x XOR (x << 5)
u = x / 2^32, com 0 <= u < 1
valor = mínimo + parte inteira(u x (máximo - mínimo + 1))
valores do intervalo = máximo - mínimo + 1

A recorrência xorshift transforma três vezes um estado de 32 bits por cada extração e depois divide por 2^32 para dar um valor no intervalo de zero até um, exclusive. Multiplicar pelo tamanho do intervalo e tomar a parte inteira leva-o a um inteiro.

O sorteio sem reposição usa um baralhamento parcial de Fisher-Yates sobre o intervalo. Cada extração coloca no lugar um elemento restante, o que seleciona um subconjunto uniformemente aleatório numa só passagem e não pode encravar como acontece a uma abordagem de extrair e repetir à medida que o conjunto se esvazia.

Erros comuns

  • Usar um gerador pseudoaleatório para algo secreto. A sequência fica totalmente determinada pela semente.
  • Esperar números novos sem mudar a semente. A reprodutibilidade é o objetivo; a semente é o controlo.
  • Assumir que o extremo superior fica excluído. Aqui ambos os extremos do intervalo estão incluídos.
  • Pedir mais valores distintos do que o intervalo contém.
  • Ler uma série de valores parecidos como uma falha. O agrupamento é uma propriedade normal das sequências aleatórias, e a sua ausência seria mais suspeita do que a sua presença.

Perguntas frequentes

Porque é que a mesma semente dá sempre os mesmos números?

Porque um gerador pseudoaleatório é uma recorrência determinística e a semente é o seu estado inicial. É uma virtude e não um defeito: citar a semente permite a qualquer pessoa reproduzir o seu sorteio exatamente, que é o que a investigação reproduzível e as demonstrações em aula precisam. Para sortear de outro modo, mude a semente.

É suficientemente aleatório para um sorteio de prémios?

Para um sorteio informal sim, desde que escolha uma semente que os participantes não consigam prever e a publique depois para que o resultado possa ser verificado. Para jogo regulado não: esses contextos exigem geradores de hardware certificados ou algoritmos criptograficamente seguros.

Posso usar isto para gerar uma palavra-passe?

Não. O estado interno de um gerador xorshift pode ser recuperado a partir de uma pequena amostra da sua saída, pelo que tudo o que dele derive é previsível. Use o gerador de palavras-passe deste site, que extrai da fonte aleatória criptograficamente segura do sistema operativo.

O que significa extrair sem reposição?

Significa que nenhum valor pode sair mais do que uma vez, como ao tirar bolas de lotaria. Como cada extração retira um valor do conjunto, não pode extrair mais números do que o intervalo contém: tirar seis valores distintos de um intervalo de cinco é impossível.

Os números estão distribuídos uniformemente?

Sim, até à precisão do gerador subjacente. Cada valor do intervalo é igualmente provável, e o modo sem reposição usa um baralhamento parcial de Fisher-Yates, que seleciona todos os subconjuntos de um dado tamanho com igual probabilidade.

Referências

  1. Marsaglia G. Xorshift RNGs. Journal of Statistical Software 2003; 8(14): 1-6. doi:10.18637/jss.v008.i14.
  2. Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition. Addison-Wesley, 1997 — random number generation and statistical testing.
  3. Fisher RA, Yates F. Statistical Tables for Biological, Agricultural and Medical Research. Oliver and Boyd, 1938 — the shuffle used for sampling without replacement.
  4. L'Ecuyer P, Simard R. TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software 2007; 33(4): 22.

Estatística · Todas as calculadoras

Calculadoras relacionadas