Generador de Números Aleatorios
Genera uno o más enteros o decimales aleatorios dentro de un rango personalizado.
Distribución de los valores generados
Cómo funciona
El Generador de Números Aleatorios produce enteros (o decimales) aleatoriamente distribuidos de forma uniforme en cualquier rango que elijas, extraídos de crypto.getRandomValues de tu navegador — la fuente aleatoria criptográficamente segura. Establece un mínimo y máximo, elige cuántos números generar (de uno a unos pocos miles) y decide si permitir valores repetidos.
El generador usa muestreo de rechazo en lugar de aritmética de módulo naive, por lo que la distribución de salida es exactamente uniforme sobre el rango — cada entero entre mín y máx inclusive es igualmente probable, sin sesgo hacia números más pequeños (que el error de módulo introduce cuando el tamaño del rango no divide el tamaño de la fuente aleatoria uniformemente). Para el modo decimal, la herramienta produce un float uniforme en el rango solicitado con la precisión que especifiques. El modo sin reposición mezcla una permutación de Fisher-Yates cuando pides muchos valores distintos de un rango pequeño, recurriendo al muestreo de rechazo para selecciones dispersas. La generación es instantánea y corre íntegramente en el lado del cliente, sin entrada enviada por la red.
Ejemplo práctico
Extrae 10 números únicos entre 1 y 100 con repeticiones desactivadas — un sorteo de lotería o rifa listo para usar, generado con la aleatoriedad criptográfica del navegador en lugar de una semilla predecible. Permite repeticiones y extrae cientos de valores, y el gráfico de distribución muestra los recuentos aplanándose hacia lo uniforme conforme crece la muestra — una demostración en vivo de la ley de los grandes números y una comprobación rápida de que ningún valor está favorecido. Copia los resultados como lista o comparte la configuración por enlace.
Casos de uso
- Generar números aleatorios para muestreo estadístico
- Elegir números de lotería o tickets de rifa
- Crear datos de prueba dentro de un rango conocido
- Simular tiradas de dados u otros eventos aleatorios en un juego
Preguntas frecuentes
- ¿La distribución es exactamente uniforme?
- Sí. El muestreo de rechazo evita el sesgo de módulo que introduce el naive (aleatorio % n), por lo que cada entero del rango es igualmente probable.
- ¿Por qué usar esto en vez de Math.random?
- Math.random es un PRNG no criptográfico que puede ser sembrado de forma predecible y no es apropiado cuando la equidad o la imposibilidad de adivinar importan. crypto.getRandomValues es el equivalente seguro.
- ¿Qué pasa si pido números únicos y el rango es demasiado pequeño?
- La herramienta rechaza solicitudes donde pides más números únicos que los que el rango puede suministrar (p. ej. 100 números únicos en 1-10 es imposible).
- ¿Puedo generar decimales?
- Sí. Establece la precisión (número de decimales) y la herramienta produce floats uniformes en el rango.
- ¿Se envían mis datos a algún lugar?
- No. Todo ocurre en tu navegador; los números generados se descartan al cerrar la pestaña.