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.
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.