CCalculate.Studio

🎲 Generador de números aleatorios

Este generador extrae enteros aleatorios del rango que elijas, opcionalmente sin repeticiones. Usa una semilla en lugar del reloj, lo que significa que la misma semilla reproduce siempre exactamente el mismo sorteo: una propiedad que importa en la docencia, en la investigación reproducible y a cualquiera que necesite mostrar su procedimiento. Cambia la semilla para volver a sortear.

Última revisión: 2026-07-07100% gratis · Sin registro
Add as preferred on Google

Para qué sirve y para qué no sirve este generador

Los generadores pseudoaleatorios difieren enormemente en para qué son aptos. Este es rápido, reproducible y estadísticamente correcto para el uso corriente, y no es en absoluto una fuente de secretos.

Uso¿Apto?Por qué
Docencia, simulaciones, muestreoQue los sorteos sean reproducibles es una ventaja
Elegir un ganador, dados, números de loteríaSí, con una semilla nuevaQuien conozca la semilla puede reproducir el sorteo
Contraseñas, claves, tokens, identificadores de sesiónNoEl estado se puede recuperar a partir de la salida; usa el generador de contraseñas
Juego regulado o apuestasNoExigen hardware certificado o generadores criptográficos
  • Ambos extremos del rango están incluidos, así que un rango de 1 a 100 contiene 100 valores posibles.
  • Sin reemplazo, el número de extracciones no puede superar el número de valores del rango. La calculadora lo rechaza en lugar de repetir en silencio.

Qué es un generador pseudoaleatorio

Un generador de números pseudoaleatorios es un algoritmo determinista que produce una secuencia que supera las pruebas estadísticas de aleatoriedad. No es aleatorio en sentido físico: es una recurrencia fija y, a partir de un valor inicial dado —la semilla—, produce siempre la misma secuencia.

Este es un generador xorshift de 32 bits, publicado por George Marsaglia en el Journal of Statistical Software en 2003. Funciona aplicando repetidamente la operación o-exclusivo entre un valor y copias desplazadas de sí mismo, con un trío de desplazamientos elegido para que la secuencia recorra todos los estados de 32 bits no nulos antes de repetirse.

El uso de semilla es deliberado y no una limitación. Todas las calculadoras de este sitio son funciones puras de sus datos de entrada, y eso es lo que hace que los resultados sean reproducibles y comprobables. Además te da algo que un generador basado en el reloj no puede: cita la semilla junto a tus números y cualquiera podrá reproducir tu sorteo exactamente.

Cómo usar el generador de números aleatorios

  1. Fija el valor mínimo y el máximo. Ambos extremos están incluidos en el rango.
  2. Elige cuántos números extraer.
  3. Decide si se permiten repeticiones. Sin reemplazo ningún valor puede salir dos veces, así que no puedes extraer más números de los que contiene el rango.
  4. Cambia la semilla siempre que quieras un sorteo distinto. La misma semilla devuelve siempre los mismos números.

Cómo se producen los números

x = x XOR (x << 13); x = x XOR (x >> 17); x = x XOR (x << 5)
u = x / 2^32, con 0 <= u < 1
valor = mínimo + parte entera(u x (máximo - mínimo + 1))
valores del rango = máximo - mínimo + 1

La recurrencia xorshift transforma tres veces un estado de 32 bits por cada extracción y después divide entre 2^32 para dar un valor en el intervalo de cero hasta uno, sin incluirlo. Multiplicar por el tamaño del rango y tomar la parte entera lo lleva a un entero.

El sorteo sin reemplazo usa una barajada parcial de Fisher-Yates sobre el rango. Cada extracción coloca en su sitio un elemento restante, lo que selecciona un subconjunto uniformemente aleatorio en una sola pasada y no puede atascarse como sí le ocurre a un enfoque de extraer y reintentar a medida que se vacía el conjunto.

Errores frecuentes

  • Usar un generador pseudoaleatorio para algo secreto. La secuencia queda totalmente determinada por la semilla.
  • Esperar números nuevos sin cambiar la semilla. La reproducibilidad es el objetivo; la semilla es el control.
  • Dar por hecho que el extremo superior queda excluido. Aquí ambos extremos del rango están incluidos.
  • Pedir más valores distintos de los que contiene el rango.
  • Leer una racha de valores parecidos como un fallo. La agrupación es una propiedad normal de las secuencias aleatorias, y su ausencia sería más sospechosa que su presencia.

Preguntas frecuentes

¿Por qué la misma semilla da siempre los mismos números?

Porque un generador pseudoaleatorio es una recurrencia determinista y la semilla es su estado inicial. Es una virtud y no un defecto: citar la semilla permite a cualquiera reproducir tu sorteo exactamente, que es lo que necesitan la investigación reproducible y las demostraciones en clase. Para sortear de otro modo, cambia la semilla.

¿Es lo bastante aleatorio para un sorteo de premios?

Para un sorteo informal sí, siempre que elijas una semilla que los participantes no puedan prever y la publiques después para que el resultado sea verificable. Para el juego regulado no: esos entornos exigen generadores de hardware certificados o algoritmos criptográficamente seguros.

¿Puedo usar esto para generar una contraseña?

No. El estado interno de un generador xorshift puede recuperarse a partir de una tirada corta de su salida, así que todo lo derivado de él es previsible. Usa el generador de contraseñas de este sitio, que extrae de la fuente aleatoria criptográficamente segura del sistema operativo.

¿Qué significa extraer sin reemplazo?

Significa que ningún valor puede salir más de una vez, como al sacar bolas de lotería. Como cada extracción retira un valor del conjunto, no puedes extraer más números de los que contiene el rango: sacar seis valores distintos de un rango de cinco es imposible.

¿Los números están distribuidos uniformemente?

Sí, hasta la precisión del generador subyacente. Cada valor del rango es igual de probable, y el modo sin reemplazo usa una barajada parcial de Fisher-Yates, que selecciona todos los subconjuntos de un tamaño dado con la misma probabilidad.

Referencias

  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.

Estadística · Todas las calculadoras

Calculadoras relacionadas