Conversion décimal binaire : méthode et tableau
numerique-et-binaire

Conversion décimal binaire : méthode et tableau

8 min de lecture

Un ordinateur ne connaît que deux états stables, et toute la culture numérique découle de cette contrainte physique. La conversion décimal binaire consiste à réécrire un nombre ordinaire, celui de la base dix, dans l’alphabet réduit de la machine : des 0 et des 1 alignés selon des poids fixes. L’opération n’a rien d’obscur. Elle repose sur deux techniques manuelles, une lecture attentive des puissances de deux et un peu de rigueur au moment de relire le résultat.

Pourquoi le changement de base ne change pas la logique

Écrire 245 revient déjà à appliquer une règle de position : 2 centaines, 4 dizaines, 5 unités. Chaque rang vaut dix fois celui qui le suit à droite, parce que la base vaut dix. Passer en base 2 conserve exactement ce mécanisme en remplaçant le multiplicateur : chaque rang vaut deux fois le rang de droite. Les poids deviennent 1, 2, 4, 8, 16, 32, 64, 128, puis 256, 512, 1024, et la série continue vers la gauche aussi loin que nécessaire.

Le nombre de symboles disponibles suit la base. Dix chiffres de 0 à 9 en décimal, deux seulement en binaire. Cette pauvreté apparente constitue un avantage matériel décisif : un circuit distingue sans ambiguïté deux niveaux de tension, beaucoup moins facilement dix niveaux intermédiaires. Le prix à payer tient à la longueur d’écriture, un nombre binaire occupant un peu plus de trois fois plus de caractères que son équivalent décimal. Les puissances de deux forment donc la table de multiplication de tout le numérique, au même titre que les dizaines en base dix.

Une convention de vocabulaire s’impose avant de calculer. Le chiffre le plus à droite porte le poids 1 et se nomme le bit de poids faible. Le chiffre le plus à gauche porte le poids le plus élevé et se nomme le bit de poids fort. Entre les deux, chaque position double la valeur de sa voisine de droite, sans exception et sans cas particulier.

La méthode des divisions successives par 2

Feuille quadrillée montrant une suite de divisions par deux avec les restes alignés dans la marge

La première technique s’applique mécaniquement, presque sans réflexion. On divise le nombre de départ par 2, on note le reste qui vaut forcément 0 ou 1, on reprend le quotient et on recommence jusqu’à obtenir un quotient nul.

Prenons 156. Divisé par 2, le quotient vaut 78 et le reste 0. 78 divisé par 2 donne 39, reste 0. 39 donne 19, reste 1. 19 donne 9, reste 1. 9 donne 4, reste 1. 4 donne 2, reste 0. 2 donne 1, reste 0. 1 donne 0, reste 1. La suite des restes obtenus, dans l’ordre où ils sortent, est 0, 0, 1, 1, 1, 0, 0, 1.

Le sens de lecture fait ici toute la différence. Le résultat se lit du dernier reste vers le premier, soit 10011100. Une vérification immédiate confirme la valeur : 128 + 16 + 8 + 4 donne bien 156. Lue à l’endroit, la suite des restes fournirait le nombre écrit à l’envers, faute la plus fréquente chez qui découvre la technique.

Les divisions successives ont un mérite considérable : elles fonctionnent pour n’importe quelle valeur, même très grande, et ne demandent aucune mémorisation préalable. Leur défaut tient à la lourdeur, puisqu’un nombre de quatre chiffres décimaux impose une dizaine de divisions avant d’aboutir.

La méthode par soustraction des puissances de deux

La seconde technique va nettement plus vite dès que la table des puissances est connue par cœur. On cherche la plus grande puissance de deux inférieure ou égale au nombre, on la soustrait, on inscrit un 1 à ce rang, puis on recommence avec le reste. Les rangs qui ne servent pas reçoivent un 0.

Reprenons 156. La plus grande puissance de deux qui tient dedans est 128, il reste 28. 64 ne tient pas dans 28, rang à 0. 32 non plus, rang à 0. 16 tient, il reste 12. 8 tient, il reste 4. 4 tient, il reste 0. Les rangs 2 et 1 restent vides. En alignant les huit rangs de 128 jusqu’à 1, on obtient 1, 0, 0, 1, 1, 1, 0, 0. Le résultat 10011100 confirme la première méthode, ce qui est rassurant.

Un exemple supplémentaire fixe la mécanique. Pour 200, la plus grande puissance utilisable est 128, il reste 72. 64 tient, il reste 8. 32 ne tient pas, 16 non plus, deux rangs à 0. 8 tient exactement, il reste 0. Les rangs 4, 2 et 1 restent vides. L’écriture obtenue est 11001000, que la somme 128 + 64 + 8 confirme sans ambiguïté. La même valeur en hexadécimal s’écrit C8, puisque les quatre bits de gauche valent 12 et les quatre de droite valent 8.

Cette approche livre directement le chiffre de gauche en premier, sans inversion finale. Elle rend surtout le nombre plus parlant : voir 156 comme la somme 128 + 16 + 8 + 4 aide à comprendre pourquoi huit rangs plafonnent à 255, et pourquoi la plage de valeurs d’un octet non signé va de 0 à 255 et non de 1 à 256.

Tableau de conversion des valeurs remarquables

Les valeurs ci-dessous reviennent constamment dès qu’on manipule des tailles de mémoire, des couleurs ou des adresses. Les mémoriser évite de recalculer chaque fois. La colonne hexadécimale, écriture compacte où chaque symbole condense quatre bits, apparaît à titre de repère.

DécimalBinaireHexadécimalRepère
111premier poids
810008quatrième poids
101010Apremier écart visible entre les bases
151111Fquatre rangs tous à 1
161000010cinquième poids
31111111Fcinq rangs tous à 1
64100000040septième poids
100110010064valeur courante
12711111117Fmaximum d’un entier signé sur huit rangs
1281000000080huitième poids
156100111009Cexemple traité plus haut
25511111111FFmaximum d’un octet non signé

Du binaire vers le décimal, le chemin inverse

Grille de poids binaires avec une ligne de bits et la somme des contributions notée dessous

Le passage inverse demande encore moins d’effort : il suffit d’additionner les poids des rangs portant un 1. Le découpage ci-dessous détaille 10011100 rang par rang.

Rang87654321
Poids1286432168421
Bit10011100
Apport12800168400

La somme des apports rend 156, valeur de départ. Cette vérification par addition devrait accompagner toute conversion, quelle que soit la méthode employée. Elle coûte quelques secondes et intercepte la quasi-totalité des fautes d’étourderie.

Le même raisonnement s’applique aux écritures plus longues. 100000000 aligne un 1 au neuvième rang et vaut donc 256. 1111101000 additionne 512, 256, 128, 64, 32 et 8, soit 1000 tout rond. La lecture se fait toujours de droite à gauche pour attribuer les poids, puis de gauche à droite pour énoncer le nombre.

Les fautes qui reviennent le plus souvent

Quatre pièges piègent presque tout le monde au début. Le premier concerne l’ordre des restes, déjà signalé, et se corrige par une relecture systématique. Le deuxième tient à l’oubli d’un zéro intermédiaire dans la méthode par soustraction : sauter un rang décale toute l’écriture et fausse lourdement le résultat.

Le troisième vient du décompte des rangs, qui commencent au poids 1 et non au poids 2. Le quatrième, plus sournois, consiste à confondre nombre de combinaisons et valeur maximale. Huit rangs produisent 256 combinaisons différentes, mais la plus grande valeur non signée s’arrête à 255, puisque la toute première combinaison représente zéro.

Une erreur classique supplémentaire porte sur la longueur d’écriture. Rien n’oblige à compléter par des zéros à gauche, sauf quand le contexte impose une taille fixe. Un octet s’écrit toujours sur huit rangs, donc 12 devient 00001100 et non 1100. Cette normalisation n’ajoute aucune valeur au nombre, elle sert uniquement à aligner les écritures pour les comparer.

Un dernier réflexe évite bien des allers-retours inutiles. Un nombre pair se termine toujours par 0 en binaire, un nombre impair toujours par 1, exactement comme la parité se lit sur le dernier chiffre en base dix. De même, multiplier par deux revient à décaler l’écriture d’un rang vers la gauche en ajoutant un 0, et diviser par deux revient à supprimer le chiffre de droite quand celui-ci vaut 0. Ces deux propriétés permettent de contrôler un résultat en une fraction de seconde, sans refaire le moindre calcul.

Ce que cette conversion ouvre ensuite

Maîtriser le passage entre les deux bases débloque plusieurs sujets voisins. La notion de plage de valeurs, l’écriture hexadécimale qui regroupe les bits par paquets de quatre, la représentation des couleurs à l’écran ou des adresses machine reposent toutes sur cette mécanique. Une adresse locale comme 192.168.1.1 n’est qu’une suite de quatre octets : 192 s’écrit 11000000, 168 s’écrit 10101000. Les masques de sous-réseau ne se comprennent d’ailleurs qu’en binaire, où leur logique de découpage saute aux yeux alors qu’elle reste opaque en décimal.

Le détail du codage machine, avec les notions de bit, de mot et d’entier signé, est développé dans le codage en base 2. L’usage concret de ces adresses apparaît dans le fonctionnement d’un réseau informatique. Quant à la forme la plus élémentaire du signal binaire, un simple contact ouvert ou fermé, elle se retrouve dans le principe du capteur tout ou rien.

Rien dans cette mécanique ne relève du calcul savant. Deux opérations élémentaires, une table de puissances tenant sur une seule ligne et la discipline de relire le résultat dans le bon sens suffisent à convertir n’importe quelle valeur. Le reste est affaire d’entraînement : après quelques dizaines d’essais, les huit premiers poids se lisent d’un coup d’œil et la conversion cesse d’être un calcul pour devenir un réflexe de lecture.