Convertisseur de bases numériques (binaire, octal, décimal, hex)
Convertissez des nombres entre binaire, octal, décimal, hexadécimal et toute base personnalisée de 2 à 36.
Chargement de Convertisseur de bases numériques (binaire, octal, décimal, hex)… Si rien ne se passe, activez JavaScript.
Les systèmes de numération positionnels représentent les nombres à l'aide d'un ensemble fixe de symboles de chiffres, où la valeur de chaque chiffre dépend de sa position. Les humains ont naturellement développé l'arithmétique en base 10 (décimale), presque certainement parce que nous avons dix doigts. Mais les ordinateurs numériques sont construits à partir de transistors qui ne peuvent exister que dans deux états, activé ou désactivé, ce qui fait de la base 2 (binaire) le langage naturel du matériel informatique. Chaque nombre, instruction et fragment de texte stocké sur un ordinateur, où que ce soit, est en fin de compte encodé sous la forme d'une séquence de uns et de zéros. Les autres bases, octale (base 8) et hexadécimale (base 16), sont apparues comme une abréviation pratique du binaire : un chiffre octal représente exactement trois chiffres binaires, et un chiffre hex en représente exactement quatre, ce qui les rend bien plus compactes pour qu'un humain lise des données binaires.
Exemples
255 (decimal)
FF (hex) · 11111111 (binary) · 377 (octal)
0xFF (hex)
255 (decimal)
1010 (binary)
10 (decimal)
Questions fréquentes
Des données sont-elles envoyées à un serveur lorsque j'utilise cet outil ?
Pourquoi les ordinateurs utilisent-ils le binaire plutôt que le décimal ?
Pourquoi l'hexadécimal est-il utilisé pour les codes de couleur et les adresses mémoire ?
Quel rapport les nombres octaux ont-ils avec les permissions de fichier Unix ?
Puis-je convertir de très grands nombres sans perte de précision ?
Quelle est l'histoire de la notation hexadécimale en informatique ?
Existe-t-il des cas limites avec les zéros de tête ou les très petits nombres ?
Cet outil prend-il en charge le complément à deux pour les nombres négatifs ?
Quelles conversions de base vaut-il la peine de connaître par cœur ?
Quelle est une idée fausse fréquente des débutants au sujet des nombres binaires ?
À propos de Convertisseur de bases numériques (binaire, octal, décimal, hex)
Les développeurs rencontrent constamment plusieurs bases. L'hexadécimal est omniprésent : les couleurs CSS (#ff6600), les adresses mémoire dans les débogueurs (0x7ffee4b3c8d0), les nombres magiques des formats de fichier (0xFF 0xD8 pour JPEG), les permissions de fichier Unix sous forme numérique (0755) et les adresses MAC réseau utilisent toutes la notation hex. Le binaire est essentiel pour comprendre les opérations au niveau des bits, les champs d'indicateurs, les masques de sous-réseau et l'encodage des données. L'octal apparaît dans les chaînes de mode des permissions de fichier Unix, le familier chmod 755 ou chmod 644, et dans certains protocoles de communication hérités. La base 36 (qui utilise les chiffres 0–9 et les lettres A–Z) est employée dans les raccourcisseurs d'URL et les schémas d'identifiants uniques qui ont besoin de chaînes compactes et insensibles à la casse.
Ce convertisseur accepte une valeur dans n'importe quelle base de 2 à 36 et l'affiche simultanément en binaire, octal, décimal, hexadécimal et toute base personnalisée que vous spécifiez. Le calcul utilise le type BigInt de JavaScript, qui prend en charge les entiers de précision arbitraire, il n'y a donc aucune limite supérieure à la taille du nombre que vous pouvez convertir, contrairement au type Number standard qui perd en précision au-delà de 2^53. Tout le traitement s'exécute dans votre navigateur, sans aucune communication avec un serveur.
Quelques nuances à garder à l'esprit : les chiffres hexadécimaux utilisent les lettres A–F (ou a–f) pour les valeurs 10–15, et la casse n'a pas de signification sémantique, mais les conventions diffèrent : les registres du processeur sont traditionnellement affichés en majuscules, tandis que les couleurs CSS s'écrivent couramment en minuscules. Lors de la saisie de valeurs binaires, faites attention aux zéros de tête : ils sont valides et conservés à l'affichage, mais n'affectent pas la valeur numérique. La notation en complément à deux, utilisée pour représenter les entiers négatifs dans le matériel, n'est pas produite par cet outil car sa sortie dépend de la taille de mot (8 bits, 16 bits, 32 bits, 64 bits) du système cible.
Des doigts aux transistors : pourquoi le monde compte en base 16
Les humains ont presque certainement utilisé la base 10 pendant des milliers d'années simplement parce que nous sommes nés avec dix doigts. Les preuves archéologiques suggèrent des systèmes de comptage remontant à au moins 40 000 ans, et les Babyloniens ont développé un système sophistiqué en base 60 (sexagésimale) vers 2000 av. J.-C., un choix qui résonne encore dans nos minutes de 60 secondes et nos cercles de 360 degrés. Le système décimal que nous utilisons aujourd'hui a été formalisé en Inde vers les Ve–VIe siècles de notre ère avec l'invention de la notation positionnelle et le concept du zéro, puis transmis à l'Europe par les mathématiciens arabes, nous donnant les chiffres indo-arabes que nous utilisons aujourd'hui.
L'adoption du binaire en informatique n'était pas inévitable. La machine analytique mécanique du XIXe siècle de Charles Babbage utilisait le décimal. Les propositions informatiques du début du XXe siècle ont exploré la base 3 (ternaire) et même des systèmes électroniques en base 10. Des ingénieurs soviétiques de l'université d'État de Moscou ont même construit un ordinateur ternaire fonctionnel, le Setun, en 1958, en faisant valoir qu'il était plus efficace que le binaire. Mais le binaire l'a finalement emporté parce qu'il exigeait le moins de complexité d'ingénierie : un transistor est soit activé, soit désactivé, un point c'est tout. Tout état supplémentaire suppose un calibrage de tension plus minutieux, plus de chaleur et plus d'erreurs.
L'hexadécimal est devenu la représentation dominante lisible par l'humain des données binaires grâce au System/360 d'IBM en 1964, qui a normalisé l'octet de 8 bits comme unité fondamentale d'information. Une fois les octets universels, le fait que deux chiffres hex correspondent exactement à un octet était irrésistible pour les ingénieurs qui lisaient les vidages mémoire et les valeurs de registres. Le préfixe 0x pour marquer les littéraux hex a été introduit par le langage C vers 1972 et s'est répandu dans pratiquement tous les langages grand public qui ont suivi : C++, Java, Python, JavaScript, Go, Rust, Swift et d'autres. Aujourd'hui, le hex est si ancré dans la culture informatique que les concepteurs de couleurs, les ingénieurs réseau et les chercheurs en sécurité pensent et communiquent en base 16 comme une seconde nature.