Convertisseur de bases numériques, gratuit

Convertissez entre binaire, octal, décimal et hexadécimal.

Vos données ne quittent pas votre appareil
Binaire (base 2)
Octal (base 8)
Décimal (base 10)
Hexadécimal (base 16)

Comprendre les bases numériques

Une base numérique (ou radix) détermine combien de chiffres uniques servent à représenter les nombres. La plus familière est la base 10 (décimale), qui utilise les chiffres 0-9. Les ordinateurs utilisent nativement la base 2 (binaire), avec seulement 0 et 1.

Questions fréquentes

Prend-il en charge les très grands nombres ?

Oui. Cet outil utilise le BigInt de JavaScript, qui prend en charge des entiers arbitrairement grands sans perte de précision. Vous pouvez convertir des nombres de centaines de chiffres.

Pourquoi le binaire est-il important en informatique ?

Les ordinateurs utilisent des signaux électriques à deux états (on/off), qui correspondent naturellement au binaire (1/0). Toute donnée · texte, image, vidéo · est finalement stockée et traitée en binaire.

Comment fonctionne la notation positionnelle

Un système de numération positionnel représente un nombre à l'aide d'un ensemble de taille fixe de symboles de chiffres, où la position de chaque chiffre détermine son poids. Le poids de la position i (comptée depuis la droite, en commençant à zéro) est base^i. La valeur du nombre est la somme de digit × base^i sur toutes les positions. La chaîne 352 en base 10 signifie 3×100 + 5×10 + 2×1 = 352. La chaîne 1011 en base 2 signifie 1×8 + 0×4 + 1×2 + 1×1 = 11 en décimal.

La notation positionnelle est l'une des deux grandes inventions de la représentation des nombres. L'autre est la notation non positionnelle (chiffres romains, hiératique égyptien), où les symboles ont des valeurs fixes quelle que soit leur position. Les systèmes positionnels compriment ; les systèmes non positionnels, non : le nombre 1 888 occupe quatre chiffres en décimal, mais huit caractères en chiffres romains : MDCCCLXXXVIII.

Brève histoire des bases

Les Babyloniens utilisaient un système positionnel en base 60 (sexagésimale) au moins dès la période paléo-babylonienne, vers 1900-1600 av. J.-C. Les tablettes cunéiformes de cette époque emploient déjà la notation positionnelle. Pourquoi 60 ? Ce nombre possède un nombre exceptionnellement élevé de petits diviseurs (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60), ce qui facilitait le calcul des fractions dans un monde antérieur aux fractions décimales. L'héritage babylonien est toujours dans votre poche : le temps (60 secondes dans une minute, 60 minutes dans une heure) et les angles / coordonnées géographiques (360 degrés dans un cercle, 60 minutes d'arc par degré, 60 secondes d'arc par minute) en sont des descendants directs. Quand vous lisez une horloge ou une latitude, vous lisez du sexagésimal.

Le système positionnel décimal tel que nous le connaissons fut mis au point par des mathématiciens indiens aux premiers siècles de notre ère. Le bond conceptuel qui le distingue des anciennes tables à calcul est un symbole écrit pour le zéro jouant le rôle de marqueur de position. La première utilisation non ambiguë du zéro dans un contexte positionnel est généralement attribuée à Brahmagupta (628 apr. J.-C.), dont le traité Brāhmasphuṭasiddhānta a énoncé des règles d'arithmétique avec le zéro. Le manuscrit de Bakhshali atteste un usage encore plus ancien d'un point (bindu) comme marqueur de position.

Le système décimal voyagea de l'Inde vers le monde islamique aux VIIIe et IXe siècles ; le polymathe perse al-Khwārizmī écrivit Sur le calcul avec les chiffres indiens vers 825 apr. J.-C. (les mots « algorithme » et « algèbre » sont des descendants étymologiques directs de son nom et des titres de ses ouvrages). L'Europe était à la traîne. Léonard de Pise, connu sous le nom de Fibonacci, introduisit formellement les chiffres indo-arabes dans l'Europe latine dans Liber Abaci (1202), démontrant leur supériorité sur les chiffres romains. Les chiffres romains subsistèrent dans la comptabilité européenne jusqu'au XVIe siècle.

Gottfried Wilhelm Leibniz décrivit un système de numération entièrement binaire dans son article de 1703 Explication de l'arithmétique binaire : bien que sa motivation première fût philosophique (une correspondance avec le I Ching) plutôt que pratique. Le saut vers le calcul binaire vint avec la thèse de master de Claude Shannon, soutenue en 1937 au MIT, « A Symbolic Analysis of Relay and Switching Circuits », qui montra que l'algèbre de Boole pouvait modéliser des réseaux de relais électriques, faisant du binaire le langage naturel de la logique numérique.

Les algorithmes de conversion

Décimal vers une autre base, divisions successives. Pour convertir un entier décimal N en base b, divisez N par b, notez le reste, remplacez N par le quotient, et répétez jusqu'à ce que le quotient soit 0. Les restes lus de bas en haut sont les chiffres en base b. Exemple traité pour la conversion de 156 en binaire : 156÷2 = 78 r0, 78÷2 = 39 r0, 39÷2 = 19 r1, 19÷2 = 9 r1, 9÷2 = 4 r1, 4÷2 = 2 r0, 2÷2 = 1 r0, 1÷2 = 0 r1, puis en lisant les restes de bas en haut : 10011100. Vérification : 128 + 16 + 8 + 4 = 156.

Autre base vers décimal, méthode de Horner. Partez de 0 ; pour chaque chiffre, de gauche à droite, multipliez le total courant par la base et ajoutez le nouveau chiffre. Exemple traité pour l'hexadécimal 1F4 : 0×16 + 1 = 1, puis 1×16 + 15 = 31, puis 31×16 + 4 = 500.

Les deux algorithmes s'exécutent en temps linéaire par rapport au nombre de chiffres, et le BigInt de JavaScript les implémente en coulisses, ce qui explique pourquoi cet outil n'a aucun plafond de précision. Un nombre de 200 chiffres se convertit proprement entre deux bases quelconques sans perte d'arrondi, exactement comme le ferait une calculatrice dotée d'une arithmétique entière à précision arbitraire.

Les quatre bases qui comptent en informatique

Puissances de 2 à mémoriser

PuissanceDécimaleHexadécimalPourquoi c'est important
2⁸2560x100Un octet ; valeur maximale d'un canal 8 bits (RGB)
2¹⁰1,0240x400« 1K » en contexte informatique
2¹⁶65,5360x10000Taille du BMP UTF-16 ; valeur maximale d'un entier 16 bits
2²⁰1,048,5760x100000« 1M » en contexte informatique
2²⁴16,777,2160x1000000RGB 24 bits (« 16,7 millions de couleurs »)
2³²~4,3 milliards0x100000000Valeur maximale d'un entier non signé 32 bits ; espace d'adressage IPv4
2⁶⁴~1.8×10¹⁹0x100…Valeur maximale d'un entier 64 bits ; bien au-delà de la précision des nombres à virgule flottante

Quand recourir à un convertisseur de bases

Autres bases à connaître

Conventions de préfixes dans le code source

La plupart des langages modernes utilisent le même jeu de préfixes littéraux pour lever l'ambiguïté de la base dans le code source :

Autres questions

Et les nombres négatifs ?

Les ordinateurs représentent les entiers négatifs à l'aide du complément à deux : on inverse tous les bits et on ajoute 1. Ainsi, en complément à deux sur 8 bits, −1 vaut 11111111 (0xFF), −5 vaut 11111011 (0xFB) et −128 vaut 10000000 (0x80). Le bit de poids fort indique le signe. Cet outil affiche les entiers négatifs avec un signe moins en tête plutôt qu'en représentation en complément à deux, car cette dernière n'a de sens qu'à une largeur de bits fixe ; or, comme l'outil utilise des BigInt de précision arbitraire, il n'y a aucune largeur fixe à interpréter.

Pourquoi l'hexadécimal utilise-t-il les lettres A-F ?

Parce que la base 16 nécessite 16 symboles de chiffres distincts, alors que les chiffres décimaux 0-9 n'en fournissent que dix. La convention consistant à utiliser A-F (insensible à la casse) pour 10-15 a été popularisée par l'IBM System/360 dans les années 1960, puis normalisée dans toute l'industrie. Des systèmes antérieurs ont expérimenté d'autres glyphes (le G-15 de Bendix utilisait u, v, w, x, y, z), mais A-F l'a emporté.

Cet outil gère-t-il les fractions ?

Non, il fonctionne uniquement avec des entiers. La conversion de bases pour les fractions est plus complexe, car la plupart des fractions décimales n'ont pas de représentation exacte en binaire (le célèbre problème de virgule flottante 0.1 + 0.2 ≠ 0.3). Pour une inspection au niveau du bit des nombres à virgule flottante, un visualiseur IEEE 754 dédié est l'outil approprié.

Des données sont-elles envoyées à un serveur ?

Non. Les conversions s'exécutent dans votre navigateur grâce à l'arithmétique BigInt native de JavaScript. Rien de votre saisie ne quitte la page ; l'outil fonctionne hors ligne une fois chargé.

Outils associés