Número Aleatorio Generador
Genera números aleatorios al instante en tu navegador. Personaliza el rango, la cantidad y el formato. Gratis, privado y sin envío de datos a ningún servidor.
Generar
Genera números aleatorios al instante en tu navegador. Personaliza el rango, la cantidad y el formato. Gratis, privado y sin envío de datos a ningún servidor.
Generar
Los generadores de números aleatorios producen números dentro de un rango específico sin un patrón predecible. Las aplicaciones comunes incluyen tirar dados, elegir números de lotería, tomar muestras para trabajos estadísticos, generar datos de prueba y cualquier contexto en el que se necesite una elección imparcial. La calidad de la aleatoriedad depende de la fuente: las fuentes débiles pueden producir números que parecen aleatorios pero tienen patrones detectables; Las fuentes sólidas son impredecibles incluso para análisis sofisticados.
Este generador utiliza la fuente aleatoria criptográficamente segura del navegador (window.crypto.getRandomValues) para usos relevantes para la seguridad, con respaldo opcional de Math.random para usos de entretenimiento donde la velocidad importa más que la seguridad. Para tiradas de dados, selecciones de concursos o cualquier cosa que afecte los resultados, la fuente segura es la elección correcta.
El rango de salida y el recuento son configurables. Genere un número, varios a la vez o una secuencia con unicidad opcional (sin duplicados). Los formatos de salida incluyen números simples, listas separadas por comas y texto de una línea.
Muchas decisiones pequeñas se benefician de una selección aleatoria imparcial. Elegir un ganador para un concurso, decidir qué restaurante probar, aleatorizar el orden de los casos de prueba, muestrear filas de un conjunto de datos, todo se mejora con un generador de números aleatorios que excluye el sesgo humano.
El trabajo estadístico y científico también depende de la aleatoriedad de calidad. Las simulaciones de Monte Carlo, la asignación de grupos de pruebas A/B, la aleatorización de entradas de prueba y muchas otras técnicas necesitan números que sean estadísticamente uniformes e impredecibles para el sistema que se está estudiando.
Establecer rango y contar, generar.
Generación de enteros aleatorios: obtenga un byte (o palabra) aleatorio de crypto.getRandomValues, aplique muestreo de rechazo para evitar el sesgo de módulo y asigne el rango deseado. El módulo simple sin muestreo de rechazo produce un ligero sesgo para los rangos que no se dividen uniformemente en el rango de la fuente; El muestreo de rechazo evita esto.
Generación de enteros uniformes sin sesgos: genere un byte aleatorio, si byte > piso (256/rango) × rango, rechace e intente nuevamente; de lo contrario, devuelva el rango de mod de bytes. La tasa de rechazo es como máximo del 50% en promedio, por lo que el algoritmo es prácticamente rápido incluso para rangos incómodos.
Math.random vs crypto.getRandomValues: Math.random es más rápido pero usa xorshift o PRNG similares que se pueden predecir con un resultado suficiente. crypto.getRandomValues es criptográficamente seguro. Para usos que no sean de seguridad (dados, selecciones casuales), cualquiera de los dos funciona; por seguridad, utilice criptografía.