Convertir des bases numériques — binaire, octal, décimal et hexadécimal
Conversion en base 2, 8, 10, 16, 36 ou personnalisée avec BigInt, négatifs et préfixes 0x/0b/0o
Traitement dans le navigateur · aucun envoi de fichier
Présentation
Le même nombre s’écrit 11111111 en binaire, ff en hexadécimal et 255 en décimal. Adresses mémoire, codes couleur, masques de bits et droits de fichiers Unix (en octal) vous obligent sans cesse à lire une valeur dans une autre base. Saisissez un nombre ici pour le voir d’un coup en base 2, 8, 10, 16, 36 et dans la base de votre choix.
Mode d’emploi
- Saisissez un nombre. Les espaces et
_sont ignorés comme séparateurs de chiffres :1111_0000est accepté. - Choisissez la base d’entrée. Par défaut, Auto cherche un préfixe
0x,0bou0oet, à défaut, lit le nombre en décimal. - Copiez la valeur voulue dans le tableau des résultats. La ligne personnalisée accepte n’importe quelle base de 2 à 36.
- Activez les chiffres en majuscules si vous préférez
FFàff.
Fonctionnement
- L’analyse utilise
BigInt. Chaque caractère est lu de gauche à droite et accumulé selonvaleur = valeur × base + chiffre; il n’y a donc aucune limite de taille en dehors du plafond de 20 000 caractères en saisie. - Les chiffres sont 0-9 puis les lettres a-z (sans distinction de casse), qui valent 0 à 9 puis 10 à 35. C’est pourquoi la base 36 est la plus élevée possible.
- Un chiffre dont la valeur est égale ou supérieure à la base est signalé avec sa position et les chiffres autorisés dans cette base. Un
2en binaire ou un9en octal est une erreur. - Un signe (
-ou+) n’est reconnu qu’au tout début, jamais après un préfixe. - Le nombre de bits est la longueur de la valeur absolue écrite en binaire ; zéro compte pour un bit.
Exemples
| Saisie | Base | Binaire | Hexadécimal | Décimal |
|---|---|---|---|---|
255 |
10 | 11111111 | ff | 255 |
0xff |
Auto | 11111111 | ff | 255 |
-0b101 |
Auto | -101 | -5 | -5 |
18446744073709551617 |
10 | 1, soixante-trois 0, puis 1 | 10000000000000001 | 18446744073709551617 |
2^64+1 perd son dernier chiffre en tant que nombre JavaScript ordinaire, mais ici il ressort exactement sous la forme 10000000000000001 en hexadécimal.
À savoir
- L’octal est la base de
chmod 755, l’hexadécimal celle des adresses et des couleurs comme#1e90ff, et la base 36 permet d’écrire des identifiants courts de façon compacte. - Si un caractère qui n’est pas un chiffre se glisse dans la saisie, comme une lettre en décimal ou une lettre accentuée, l’erreur indique à quelle position il se trouve.
Questions fréquentes
Les très grands nombres sont-ils convertis exactement ?
Oui. Les nombres JavaScript ordinaires ne sont exacts que jusqu’à 2^53, mais cet outil calcule avec des entiers en précision arbitraire (BigInt) ; les valeurs au-delà de 2^64 sont donc converties sans la moindre erreur de chiffre. La saisie peut atteindre 20 000 caractères.
Comment les nombres négatifs sont-ils affichés ?
Le signe est conservé et la valeur absolue est convertie, si bien que -255 donne -ff en hexadécimal. Ce n’est pas une représentation en complément à deux ; si vous en avez besoin pour une largeur fixe comme 8 bits, interprétez le résultat vous-même.
Puis-je saisir les préfixes 0x ou 0b ?
Avec la base d’entrée sur Auto, les préfixes 0x (hexadécimal), 0b (binaire) et 0o (octal) sont reconnus, et tout nombre sans préfixe est décimal. Si vous choisissez une base vous-même, seul le préfixe correspondant est accepté ; en base 16, le texte 0b1 correspond aux chiffres 0, b et 1, pas à un préfixe.
Et les nombres à virgule ?
Seuls les entiers sont pris en charge. Un séparateur décimal est signalé comme caractère invalide, avec sa position.