Bases 2 à 36 · Gratuit

Convertisseur de bases numériques

Saisissez un nombre en binaire, en octal, en décimal, en hexadécimal ou dans toute base jusqu'à 36, et lisez-le dans toutes les autres à la fois. Arithmétique exacte sur les grands entiers, vraie conversion des fractions et motif binaire qu'il prendrait dans un registre.

Calcul BigInt exact dans votre navigateur · Rien n'est importé
Signaler un problème

255 en base 10 vaut 255 en décimal.

Valeur à convertir

Saisissez-la dans la base où vous l'avez déjà

Les espaces, les tirets bas et les virgules sont ignorés, si bien qu'une valeur groupée se colle directement. Un préfixe 0b, 0o ou 0x correspondant à la base est également accepté.

Même nombre, autres bases

255 en décimal

Binaire · base 2
0b1111 1111
Octal · base 8
0o377
Décimal · base 10
255
Hexadécimal · base 16
0xff
Base 36 · base 36
73
8 bits de large8 bits à 1
Dans un registre

Complément à deux sur 8 bits

Motif binaire
1111 1111
Non signé
255
Signé
-1
Hex
0xFF

Cette valeur tient sur 8 bits non signés, mais lue comme signée elle vaut -1, car le bit de poids fort est à 1.

Le détail du calcul

Chaque chiffre multiplié par sa valeur de position

Un nombre, dans n'importe quelle base, est une somme : le chiffre multiplié par la base élevée à la puissance de sa position, en comptant à partir de zéro depuis la droite. Voici cette somme pour la partie entière, en base 10.

Chiffre, valeur de position et contribution de chaque chiffre de la partie entière
ChiffreValeurPoidsContribution
22102200
5510150
551005
Ces contributions donnent au total 255 en décimal.
Toutes les bases à la fois

De la base 2 à la base 36

Trente-cinq façons d'écrire la même quantité. Remarquez comme le nombre de chiffres baisse quand la base augmente : cette relation est un logarithme, et c'est toute la raison d'être de l'hexadécimal.

La même valeur écrite dans toutes les bases de 2 à 36
BaseValeurChiffres
2111111118
31001106
433334
520104
611034
75133
83773
93133
10La vôtre2553
112123
121933
131683
141433
151203
16ff2
17f02
18e32
19d82
20cf2
21c32
22bd2
23b22
24af2
25a52
269l2
279c2
28932
298n2
308f2
31872
327v2
337o2
347h2
357a2
36732
Comment ça marche

Une quantité, trente-cinq façons de l'écrire.

Une base n'est que le choix du nombre de symboles avec lesquels on compte avant de poser une retenue. La quantité 255 ne change pas quand on l'écrit 11111111, 377 ou FF ; seule la notation change. Convertir revient donc à diviser de façon répétée par la base cible pour la partie entière, et à multiplier de façon répétée pour la partie fractionnaire, et ici les deux opérations se font sur des entiers exacts plutôt que sur des nombres à virgule flottante. Cette distinction est tout le contenu technique de cet outil : c'est pourquoi un identifiant de dix-neuf chiffres survit intact à l'aller-retour, et pourquoi une fraction décimale impossible à écrire en binaire est signalée comme périodique au lieu d'être discrètement arrondie à une valeur qui semble propre et qui est fausse.

  1. 01

    Saisissez le nombre et indiquez sa base

    Le binaire, l'octal, le décimal et l'hexadécimal sont à un clic, et toute base de 2 à 36 peut être saisie. Les espaces, les tirets bas et les virgules sont ignorés, si bien qu'une valeur groupée se colle directement depuis un dump hexadécimal ou un tableur. Un préfixe 0b, 0o ou 0x correspondant à la base est accepté puis retiré.

  2. 02

    Lisez-le dans toutes les autres bases à la fois

    Les quatre bases courantes et une base cible de votre choix se mettent à jour pendant la saisie, et chacune se copie séparément. En dessous, la même valeur écrite dans les trente-cinq bases de 2 à 36, pour que la diminution du nombre de chiffres se voie au lieu d'être décrite.

  3. 03

    Vérifiez le motif binaire et le détail du calcul

    Le panneau du registre montre comment l'entier tiendrait sur 8, 16, 32 ou 64 bits, avec les lectures signée et non signée côte à côte. Le panneau du calcul décompose le nombre en chiffre multiplié par la base à la puissance de sa position, ce qui est la définition de la numération de position et le moyen le plus rapide de vérifier une conversion à la main.

Pour le firmware, les codes couleur, les permissions et les devoirs

Arithmétique exacte, fractions honnêtes et vue du registre.

Exact au-delà du précipice de la virgule flottante

Chaque conversion repose sur l'arithmétique BigInt. Un convertisseur fondé sur les nombres JavaScript ordinaires se trompe en silence au-dessus de 9,007,199,254,740,992 : demandez-lui 9007199254740993 et il vous renvoie le nombre pair juste en dessous. C'est exactement le genre de valeur que l'on colle depuis un identifiant de base de données ou un débogueur, alors celui-ci la conserve exactement, dans n'importe quelle base, quelle que soit sa longueur jusqu'à 512 caractères.

Des fractions converties par division, pas par arrondi

La partie fractionnaire est conservée sous forme d'un numérateur exact sur la base élevée à la puissance de son nombre de chiffres, puis convertie par multiplications et divisions répétées. Ainsi, 0.1 en décimal donne 0.0001100110011… en binaire et est signalé comme périodique au lieu d'être arrondi en silence, ce qui est la démonstration la plus claire de la raison pour laquelle 0.1 plus 0.2 ne vaut pas 0.3 dans la plupart des langages.

Le complément à deux, dépassement compris

Choisissez 8, 16, 32 ou 64 bits et voyez ensemble le motif stocké, la lecture non signée et la lecture signée. Une valeur trop grande pour la largeur est tronquée par dépassement au lieu d'être refusée, parce que c'est ce que fait le registre, et voir 300 devenir 44 dans un octet est généralement la raison pour laquelle on a ouvert le convertisseur.

Des erreurs qui nomment le chiffre et la position

Tapez 9 dans un nombre octal et le message indique que 9 vaut neuf, que la base 8 s'arrête à 7, et désigne le caractère avec un accent circonflexe en dessous. Un convertisseur qui se contente de vider le résultat vous laisse chercher la faute de frappe tout seul.

Un regroupement adapté à la base

Des blocs de quatre et huit bits pour le binaire et l'hexadécimal, des séparateurs de milliers pour le décimal, et aucun des deux là où cela n'a pas de sens. Le résultat groupé se copie exactement tel qu'il s'affiche, avec les préfixes 0b, 0o et 0x activés ou non selon qu'il est destiné à un texte ou à du code source.

Les trente-cinq bases dans un seul tableau

De la base 2 à la base 36, avec le nombre de chiffres à côté de chacune. La relation logarithmique devient évidente : un octet demande 8 chiffres binaires, 3 décimaux et 2 hexadécimaux, et c'est précisément pour cela que l'hexadécimal, et non l'octal, est devenu l'abréviation du binaire.

Questions de base

Conversion à la main, lettres hexadécimales, complément à deux et pourquoi 0.1 se comporte mal.

Comment convertir du binaire en décimal à la main ?+

Multipliez chaque chiffre par deux élevé à la puissance de sa position, en comptant à partir de zéro depuis la droite, puis additionnez les résultats. Pour 1011, cela donne 1×8 + 0×4 + 1×2 + 1×1, soit 11. La méthode du doublement est plus rapide pour les longues valeurs : partez du chiffre le plus à gauche, puis doublez à chaque fois le total en cours et ajoutez le chiffre suivant. Pour 1011, on obtient 1, puis 2+0 = 2, puis 4+1 = 5, puis 10+1 = 11. Le panneau du calcul de cette page détaille la première méthode chiffre par chiffre, pour que vous puissiez y comparer vos propres calculs.

Pourquoi l'hexadécimal utilise-t-il des lettres ?+

Parce que la base 16 a besoin de seize chiffres distincts et que le système décimal n'en fournit que dix. Les lettres A à F comblent l'écart et représentent les valeurs de dix à quinze. La raison de vouloir seize, au départ, est que 16 vaut 2 puissance quatre : exactement quatre chiffres binaires correspondent à un chiffre hexadécimal, sans reste ni retenue entre eux. Un octet s'écrit donc toujours avec deux caractères hexadécimaux, et c'est pourquoi les dumps mémoire, les codes couleur et les adresses MAC s'écrivent ainsi. L'octal a la même propriété avec trois bits par chiffre, et il a perdu face à l'hexadécimal surtout parce que les octets font huit bits et non neuf.

Qu'est-ce que le complément à deux, et pourquoi ne pas utiliser simplement un bit de signe ?+

Le complément à deux stocke un nombre négatif sous la forme du motif qui, ajouté à son équivalent positif, ramène le registre à zéro par dépassement. Sur huit bits, moins un s'écrit 11111111, car 11111111 plus 00000001 déborde en 00000000. La raison de le préférer à un simple bit de signe est que l'addition et la soustraction n'ont alors besoin d'aucun cas particulier : le même circuit additionneur gère les deux signes, et la comparaison fonctionne toujours. Une représentation signe et valeur absolue produit en outre deux zéros, positif et négatif, que chaque morceau de code doit ensuite penser à gérer.

Pourquoi 0.1 n'est-il pas exact en binaire ?+

Pour la même raison qu'un tiers n'est pas exact en décimal. Une fraction ne se termine dans une base donnée que si tous les facteurs premiers de son dénominateur divisent cette base. Dix se décompose en deux et cinq, donc les dixièmes, les cinquièmes et les demis se terminent en décimal. Deux n'a que lui-même, donc une fraction binaire ne se termine que si le dénominateur est une puissance de deux. Un dixième n'en est pas une, si bien que 0.1 devient 0.000110011001100… répété à l'infini, et tout format de largeur fixe doit le couper quelque part. C'est cette troncature qui fait que 0.1 plus 0.2 donne 0.30000000000000004 dans la plupart des langages. Tapez 0.1 ici avec le décimal comme base source, et la ligne du binaire montre directement la répétition.

À quoi sert la base 36 ?+

C'est la plus grande base qui tient dans les chiffres 0 à 9 plus les vingt-six lettres de l'alphabet latin : c'est donc la façon la plus compacte d'écrire un nombre qui reste insensible à la casse et facile à taper. Cela la rend utile pour les identifiants courts et les slugs d'URL : une valeur qui demande dix chiffres décimaux tient en six caractères en base 36. La base 32 est souvent préférée en pratique, car elle écarte les caractères faciles à confondre visuellement et correspond proprement à cinq bits, et la base 62 va plus loin en rendant la casse significative, au prix d'identifiants impossibles à dicter au téléphone.

Puis-je convertir un nombre négatif ?+

Oui. Tapez un signe moins devant et toutes les bases affichent le même signe, puisque le signe moins est une propriété de la valeur et non de la notation. C'est dans le panneau du registre que cela devient intéressant, car un registre de largeur fixe n'a pas de caractère de signe : il stocke à la place le motif en complément à deux, si bien que moins 42 sur huit bits s'écrit 11010110, ce qui, lu comme non signé, vaut 214. Les deux lectures s'affichent ensemble, avec une note qui explique laquelle votre langage vous donnera selon que le type est signé ou non.

Que se passe-t-il si mon nombre est trop grand pour la largeur choisie ?+

Il est tronqué par dépassement, et la page le signale. Trois cents ne tient pas sur huit bits, donc le registre contient 44, soit 300 moins 256. Ce n'est pas une erreur du convertisseur, c'est ce que fait le matériel, et le reproduire est plus utile que de refuser de répondre. Les conversions au-dessus du panneau du registre ne sont pas concernées : elles sont exactes et sans limite, jusqu'au plafond de 512 caractères en entrée.

Le convertisseur accepte-t-il les préfixes 0x et 0b ?+

Oui, lorsque le préfixe correspond à la base sélectionnée. 0x1F dans un champ réglé sur l'hexadécimal se lit 31 ; la même chaîne avec la base réglée sur le binaire est une vraie incohérence, donc le x est signalé comme chiffre invalide au lieu d'être discrètement ignoré. Les préfixes en sortie sont un réglage distinct : activez-les quand la valeur va dans du code source, désactivez-les quand elle va dans un texte ou une cellule de tableur.

Pourquoi y a-t-il moins de chiffres quand la base augmente ?+

Parce que le nombre de chiffres est un logarithme. Écrire un nombre n en base b demande environ logarithme en base b de n chiffres : augmenter la base réduit donc le nombre de chiffres, mais lentement, car doubler la base ne vous fait gagner qu'un seul chiffre pour chaque chiffre binaire de croissance. C'est pourquoi 255 demande huit chiffres binaires, trois chiffres décimaux et deux chiffres hexadécimaux, et pourquoi le tableau de toutes les bases sur cette page rétrécit vite de la base 2 à la base 10, puis change à peine de la base 20 à la base 36.

Quelque chose est-il envoyé à un serveur ?+

Non. Tous les calculs s'exécutent dans cet onglet avec le BigInt intégré de JavaScript, et aucune conversion n'implique de requête. Les valeurs collées depuis un débogueur, un identifiant interne ou l'empreinte d'une clé privée restent sur votre machine.

D'autres outils ciblés, prêts quand vous l'êtes.

Découvrez une collection grandissante pour les calculs, les documents, la rédaction et le travail de tous les jours.

Voir tous les outils