Comprendre le résultat
Comment tirer un nombre au hasard entre deux bornes
Un nombre aléatoire est équitable lorsque chaque entier de l’intervalle a exactement la même chance de sortir. L’outil lit les deux bornes, tire dans l’intervalle puis garde la trace du résultat.
Choisir l’intervalle
Le minimum et le maximum sont des entiers, bornes incluses. Les négatifs sont acceptés, et le minimum peut être égal au maximum. Les décimaux sont refusés avec un message.
Tirer un ou plusieurs nombres
Un tirage donne de 1 à 100 nombres, tous différents. Vous pouvez les trier par ordre croissant ou les garder dans l’ordre du tirage.
Garder la trace
Chaque tirage s’ajoute à l’historique, qui se copie d’un clic. Le lien de ce réglage reprend les bornes et les options, pas le résultat.
Un tirage équitable
L’outil utilise le générateur cryptographique du navigateur, qui fournit des entiers de 32 bits. Pour en tirer un entre 1 et 6, il faudrait réduire cet entier modulo 6, mais 4 294 967 296 n’est pas un multiple de 6. Quatre valeurs de plus donneraient un léger avantage aux petits résultats. L’outil écarte donc ces valeurs et recommence, ce qui rend chaque face exactement équiprobable.
Le nombre de possibilités vaut le maximum moins le minimum plus 1. Entre -5 et 5, il y en a donc 11. Entre 1 et 100, chaque nombre a 1 chance sur 100, soit 1 %.
Sans répétition et plusieurs nombres
Dans un même tirage, les nombres sont toujours différents, comme dans une grille de loto. L’option « sans répétition entre les tirages » va plus loin. Un nombre sorti n’est plus tiré aux clics suivants, et le compteur indique combien il en reste. Quand l’intervalle est épuisé, un message le signale et « Réinitialiser » remet tous les nombres en jeu.
Si vous demandez plus de nombres qu’il n’y a de possibilités, le nombre est ramené au maximum possible et un message l’indique. Les nombres déjà sortis sont oubliés quand vous changez une borne.
Les très grands intervalles
Les bornes peuvent aller de -1 000 000 000 000 000 à 1 000 000 000 000 000. Au-delà de 4 294 967 296 possibilités, un seul entier de 32 bits ne suffit plus. L’outil combine alors deux tirages, avec le même rejet des valeurs qui sortent de l’intervalle, et reste équitable.
Cette limite garde tous les calculs exacts en JavaScript, qui représente sans erreur les entiers jusqu’à 9 007 199 254 740 991.
Un usage, des limites
Cet outil convient aux tirages entre amis, aux jeux, aux exercices de probabilités et aux choix du quotidien. Il ne remplace pas un tirage officiel ni une loterie, dont le résultat doit être certifié et horodaté. Il ne prédit rien non plus, un nombre n’est jamais « en retard ».
Pour tirer des noms plutôt que des nombres, voir le tirage au sort de noms. Pour lancer des dés, le simulateur de dés convient mieux, et pour fixer un ordre de passage le générateur d’ordre de passage.
Méthode de tirage
- Aléa — crypto.getRandomValues() du navigateur, avec rejet des valeurs qui biaiseraient le modulo. Repli sur Math.random() si l’API est absente.
- Sans répétition — mélange partiel de Fisher-Yates (version de Durstenfeld) sur les nombres encore disponibles (présentation sur Wikipédia).