Nombre Aléatoire Générateur
Générez des nombres aléatoires instantanément dans votre navigateur. Personnalisez la plage, le nombre et le format. Gratuit, privé, aucune donnée envoyée à un serveur.
Générer
Générez des nombres aléatoires instantanément dans votre navigateur. Personnalisez la plage, le nombre et le format. Gratuit, privé, aucune donnée envoyée à un serveur.
Générer
Les générateurs de nombres aléatoires produisent des nombres dans une plage spécifiée sans modèle prévisible. Les applications courantes incluent le lancer de dés, la sélection de numéros de loterie, l'échantillonnage pour le travail statistique, la génération de données de test et tout contexte dans lequel une sélection impartiale est nécessaire. La qualité du caractère aléatoire dépend de la source : des sources faibles peuvent produire des nombres qui semblent aléatoires mais qui présentent des modèles détectables ; les sources fortes sont imprévisibles, même pour une analyse sophistiquée.
Ce générateur utilise la source aléatoire cryptographiquement sécurisée du navigateur (window.crypto.getRandomValues) pour les utilisations liées à la sécurité, avec une solution de repli facultative Math.random pour les utilisations de divertissement où la vitesse compte plus que la sécurité. Pour les lancers de dés, les choix de concours ou tout ce qui affecte les résultats, la source sécurisée est le bon choix.
La plage de sortie et le nombre sont configurables. Générez un numéro, plusieurs à la fois ou une séquence avec un caractère unique optionnel (pas de doublons). Les formats de sortie incluent des nombres bruts, des listes séparées par des virgules et du texte par ligne.
De nombreuses petites décisions bénéficient d’une sélection aléatoire impartiale. Choisir un gagnant pour un concours, décider quel restaurant essayer, randomiser l'ordre des cas de test, échantillonner des lignes à partir d'un ensemble de données, tout cela est amélioré par un générateur de nombres aléatoires qui exclut les préjugés humains.
Les travaux statistiques et scientifiques dépendent également du caractère aléatoire de la qualité. Les simulations de Monte Carlo, l'attribution de compartiments de tests A/B, la randomisation des entrées de test et de nombreuses autres techniques nécessitent des nombres statistiquement uniformes et imprévisibles pour le système étudié.
Définir la plage et le nombre, générer.
Génération d'entiers aléatoires : obtenez un octet (ou un mot) aléatoire à partir de crypto.getRandomValues, appliquez un échantillonnage de rejet pour éviter le biais modulo, mappez-le à la plage souhaitée. Le modulo simple sans échantillonnage par rejet produit un léger biais pour les plages qui ne se divisent pas uniformément dans la plage de la source ; l'échantillonnage par rejet évite cela.
Génération d'entiers uniformes sans biais : générer un octet aléatoire, si octet > étage (256/plage) × plage, rejeter et réessayer, sinon renvoyer la plage de mod d'octets. Le taux de rejet est d'au plus 50 % en moyenne, l'algorithme est donc pratiquement rapide, même pour les plages difficiles.
Math.random vs crypto.getRandomValues : Math.random est plus rapide mais utilise xorshift ou des PRNG similaires qui peuvent être prédits avec suffisamment de sortie. crypto.getRandomValues est cryptographiquement sécurisé. Pour une utilisation non liée à la sécurité (dés, choix occasionnels), l'un ou l'autre fonctionne ; pour des raisons de sécurité, utilisez la cryptographie.