mardi 22 septembre 2026 · Sem. 39 DE · EN · FR · ES Sombre
Avis d'experts

Comment lire les nombres hexadecimaux et binaires – Guide complet

Quiconque souhaite saisir des caracteres speciaux peut le faire soit via le code hexadecimal, soit via le code decimal Unicode, ce dernier au format &0000; etant souvent designe comme entites HTML. Les …

Par cloudmagazin 4 juin 2023 9 min de lecture
Comment lire les nombres hexadecimaux et binaires – Guide complet

Comment lire les nombres hexadecimaux et binaires ?

Quiconque souhaite saisir des caracteres speciaux peut le faire soit via le code hexadecimal, soit via le code decimal Unicode, ce dernier au format � etant souvent designe comme entites HTML. Les ordinateurs, en revanche, calculent dans le systeme dual ou binaire, c’est-a-dire uniquement avec des zeros et des uns. Il faut d’abord s’y retrouver. … apporte un eclairage.  

Quiconque travaille beaucoup avec les couleurs dans son metier sait combien il est souvent difficile de convertir les valeurs de couleur RGB, frequemment notees en hexadecimal, en nombres decimaux, c’est-a-dire de la base 16 a la base 10. Le noir pur ou le blanc restent simples avec l’encodage HTML #00 00 00 (0 0 0 pour rouge, vert, bleu) et #FFFFFF (255 255 255). Mais avec l’argent et son code hexadecimal #C0C0C0 (192 192 192), cela devient plus difficile, d’autant que les trois couleurs RGB presentent chacune une saturation de 79,29 %. Curieux nombre.   

Les ordinateurs calculent avec les signes + et –

Les lettres hexadecimales representent les valeurs decimales 10 a 15. Et ensuite, avec C0, il suffit de prendre en compte les valeurs positionnelles pour arriver au decimal 192. Dans le systeme decimal, les valeurs positionnelles commencent par la position des unites ou  de la valeur numerique respective a gauche de la virgule et par la position des dixiemes ou  a droite de la virgule. Le nombre 75,5 pourrait donc aussi s’ecrire  . Cette methode peut egalement etre appliquee a d’autres systemes de numeration positionnelle. Le nombre binaire  peut par consequent etre traduit par  ou  .   

En binaire -ou dans le systeme dual- il faudrait 24 chiffres binaires (binary digits ou bits) pour FFFFFF ou C0C0C0. Il serait meme preferable de faire preceder au moins un 0, car les ordinateurs calculent generalement avec signe (signed) et non sans signe (unsigned). Le premier bit d’une chaine indique en tant que Most Significant Bit (MSB) s’il s’agit d’une valeur positive (0) ou negative (1) de la valeur positionnelle respective.

Si l’on saisit par exemple FFFFFF dans la calculatrice Windows pour programmeurs, la valeur binaire non signee  et la valeur decimale correspondante 16 777 215 (2²³+2²²…2⁰) apparaissent. Avec signe, il faudrait cependant soustraire le 1 en tete en tant que 2²³ soit 8 388 608 pour obtenir une valeur completement differente, telle que les ordinateurs lisent la chaine.  

Unicode a reuni toutes les langues

Convertir l’hexadecimal en binaire et inversement est relativement simple, car quatre bits ensemble representent chacun une valeur hexadecimale. Seules les valeurs positionnelles dans chaque bloc de 4 bits doivent etre connues, ou F respectivement le nombre binaire  represente  donc 15. La conversion de l’hexadecimal en decimal et inversement est plus compliquee, mais ce n’est pas non plus sorcier, comme on le verra plus loin.

Voici d’abord un autre sujet ou l’on doit occasionnellement convertir entre hexadecimal et decimal : la saisie de caracteres speciaux et d’autres caracteres. Selon l’environnement et la methode de saisie, il faut parfois connaitre le code hexadecimal, parfois le code decimal.

Le standard Unicode a beaucoup simplifie les choses et a plus ou moins mis fin au fouillis ou, par exemple, des textes chinois -selon l’encodage- apparaissaient soit comme un melange de lettres, soit comme un melange de chiffres. L’actuel standard Unicode 15.0 de septembre 2022 rassemble pratiquement toutes les langues vivantes et mortes du monde et comprend pres de 150 000 caracteres differents. Theoriquement, sur 17 plans avec chacun 2¹⁶ ou 65 536 points de code, il pourrait y avoir plus de 1,1 million de lettres, chiffres, commandes et caracteres sur caracteres. Les ordinateurs ne connaissent que des etats binaires (allume ou eteint, 1 ou 0). Et les caracteres ASCII, tels qu’ils sont encore utilises jusqu’au point de code 255 aujourd’hui, sont eux aussi encore encodes en binaire.

ASCII n’est pas egal a ASCII

Mais pour representer ne serait-ce que le point d’exclamation, le premier caractere ASCII imprimable, il faudrait ecrire  au lieu de l’hexadecimal 21 ou du decimal 33. C’est pourquoi les numeros Unicode, tels que designes par le Consortium Unicode selon le schema U+0000, sont generalement donnes sous forme hexadecimale.   

En dessous ou a cote, au format �, on trouve aussi souvent l’entite HTML generalement designee en decimal. Si l’on connait cette sequence de chiffres decimaux, il est facile dans Microsoft Word de saisir des caracteres moins courants a l’aide de la touche ALT et du pave numerique. Parfois, il faut cependant aussi placer un 0 devant la sequence de chiffres selon la disposition du clavier anglais, car ALT+190 dans Word pour Windows produit par exemple le symbole monetaire japonais ¥, tandis que ALT+0190 produit le signe trois-quarts ¾.

Cela est du au fait que le code ASCII, etendu de 128 a 256, n’est pas uniforme mais depend de la page de code ou de la table de caracteres. Dans la page de code 437 d’IBM, mise en place en 1981, par exemple, 190 est l’element de cadre ╛, qui dans le jeu de caracteres Unicode n’occupe que la position U+255B et selon l’entite HTML la position 9563. C’est pourquoi il peut etre necessaire de modifier l’encodage pour certains textes en langues etrangeres, bien qu’Unicode et UTF-8 se soient desormais imposes dans le monde entier.

ASTUCE : Si l’on a vu un caractere sur Internet et que l’on veut trouver le numero Unicode et inversement, il suffit de le copier dans Microsoft Word et d’utiliser le raccourci clavier ALT+c  juste apres. U+FDFD par exemple, avec ou sans le U+ precedent, est le numero Unicode de la ligature arabe ﷽, ecrite en toutes lettres (« Bismillah arahman arahim », en francais « Au nom de Dieu, le Tout Misericordieux »), l’un des caracteres Unicode les plus complexes qui soient. Qu’il apparaisse et comment il apparaisse a l’ecran depend du jeu de caracteres sous-jacent. Les caracteres non representables apparaissent avec un caractere de remplacement tel qu’un rectangle barre.  

Comment convertir d’un systeme de numeration positionnelle a un autre

Venons-en maintenant a la question de savoir comment convertir l’hexadecimal en decimal et inversement. Dans le systeme hexadecimal ou en base 16, les chiffres ne vont pas seulement de 0 a 9, mais de 0 a 9 et de A a F, les lettres representant les nombres decimaux 10 a 15. Comme dans tout systeme de numeration positionnelle, les chiffres hexadecimaux a gauche de la virgule representent chacun le X-uple de la valeur positionnelle respective.

ABCDEF16 se lit donc comme .

Il suffit ensuite d’additionner les differents resultats de multiplication pour arriver au nombre decimal 11 259 375. Inversement, on peut proceder de la meme facon si l’on connait les puissances de 16 :

Ce dernier nombre est 256 × 256 × 256  et rappelle non pas par hasard la profondeur de couleur 24 bits encore tres repandue aujourd’hui avec 3 fois 8 bits ou 2²⁴, soit environ 16,78 millions de couleurs affichables, egalement appelees True Color. Si l’on veut convertir d’autres systemes de numeration positionnelle vers le systeme decimal, on peut decomposer le nombre en multiples des valeurs positionnelles respectives. Le nombre binaire  se lit alors comme 2⁴ + 2³ + 2⁰ soit 16 + 8 + 1, ce qui donne 25.  

Un tableau peut aider

Une autre possibilite pour convertir d’un autre systeme de numeration positionnelle vers le systeme decimal est l’utilisation du schema de Horner. On commence par multiplier le chiffre le plus a gauche (sans zeros en tete) par la base respective, puis on ajoute le chiffre suivant et on multiplie la somme a nouveau par la base (base 2 pour les nombres binaires et base 16 pour les nombres hexadecimaux). On continue ainsi jusqu’a ce qu’il n’y ait plus rien a ajouter :

Prenons comme exemple l’hexadecimal 73CC16 :

7 × 16 + 3 = 115 × 16 + 12 = 1 852 × 16 + 12 = 29 64410

Comme on peut le voir, le nombre decimal est un peu plus long, et en binaire avec  il est meme quatre fois plus long. C’est la raison pour laquelle on travaille souvent en hexadecimal dans le traitement des donnees, plutot qu’en binaire ou en decimal.

Convertir des nombres hexadecimaux en nombres binaires est comparativement simple, tandis que convertir des nombres hexadecimaux en nombres decimaux est un plus grand defi. Mais avec le schema de Horner mentionne, on n’a generalement meme pas besoin d’une calculatrice pour cela ; l’inverse est plus probable. L’avantage est que chaque resultat intermediaire est deja l’equivalent decimal des chiffres jusqu’a ce point. 7316 par exemple est, comme on le voit ci-dessus, le decimal 115.

Pour convertir des nombres decimaux en d’autres systemes de numeration positionnelle, on peut soit decomposer le nombre en multiples des valeurs positionnelles respectives, soit appliquer la methode de division avec des restes entiers.

par exemple peut etre decompose en  , ce qui donne le nombre hexadecimal 137B16. B represente le nombre 11.

Si l’on divise continuellement 4 987 par 16 et que l’on lit les restes entiers de bas en haut, on arrive au meme resultat :

4 987 ÷ 16 =

311 ÷ 16 =

19 ÷ 16 =  

1 ÷ 16 =

311

19

1

0

  R11 (B)

R7

R3

R1

 

A partir des restes lus de bas en haut ou de l’arriere vers l’avant, on obtient a nouveau le nombre hexadecimal recherche 137B16. La conversion de l’hexadecimal en binaire est donc simple, car le 1 a l’avant correspond au binaire 0001, le 3 au binaire 0011, le 7 au binaire 0111 et le B au binaire 1011, ensemble donc .

Les nombres binaires sont generalement presentes en groupes de 4 pour une meilleure lisibilite, comme ici, que l’on appelle aussi nibbles ou demi-octets. Si l’on forme des groupes de 3 a la place, il est a son tour facile de convertir le nombre binaire dans le systeme octal (base 8), ou le premier des trois bits compte comme 2², le deuxieme comme 2¹ et le troisieme comme 2⁰, soit 1.

Pour ceux qui ont le vertige apres toutes ces conversions, voici le tableau de conversion suivant, etendu aux nombres duodecimaux (base 12) :

 

Tableau de conversion pour les
systemes de numeration positionnelle les plus courants
DEC HEX OCT DDC BIN
0 0 0 0 0000
1 1 1 1 0001
2 2 2 2 0010
3 3 3 3 0011
4 4 4 4 0100
5 5 5 5 0101
6 6 6 6 0110
7 7 7 7 0111
8 8 10 8 1000
9 9 11 9 1001
10 A 12 T 1010
11 B 13 E 1011
12 C 14 10 1100
13 D 15 11 1101
14 E 16 12 1110
15 F 17 13 1111
16 10 18 14 1 0000

 

Au lieu de T et E (Ten et Eleven), on peut egalement ecrire A et B ou ↊ et ↋ pour 10 et 11 dans le systeme duodecimal. Ce dernier est d’ailleurs tres ancien et se retrouve entre autres dans notre division du temps et du calendrier en 12 heures et 12 mois, ainsi que dans des valeurs numeriques comme la douzaine et dans les unites de mesure anglaises et d’autres unites plus anciennes. Un pouce anglais (inch), par exemple, correspond a un douzieme ou 12⁻¹ d’un pied anglais (foot), et une once anglaise a un douzieme d’une livre anglaise (pound).  

Calculer, c’est comme compter dans d’autres systemes de numeration positionnelle

Comme on peut le voir, les nombres ou plus precisement les chiffres decimaux, hexadecimaux, octaux et duodecimaux jusqu’a 7 inclus sont tous identiques. A partir du decimal 8, les avis divergent et il faut alors calculer vers le bas ou vers le haut selon le systeme de numeration positionnelle. Ainsi, le decimal 8 donne un octal 10 et l’hexadecimal 10 donne un decimal 16 et un octal 20. Pour les nombres binaires, il est preferable de faire preceder au moins un 0, car le premier 1 pourrait sinon etre compte comme la valeur negative de la valeur positionnelle respective.

Expliquer comment calculer en binaire, hexadecimal, octal ou decimal irait trop loin ici. Mais si l’on sait que la base dans chaque systeme de numeration positionnelle est 10, il suffit de compter vers le haut et vers le bas le long du tableau ci-dessus pour pouvoir respectivement additionner ou soustraire.

Quiconque ne sait pas par coeur combien font 7 + 8, par exemple, soustraira peut-etre inconsciemment la difference entre 7 et 10 (soit 3) de 8 et placera la retenue 1 sous la position de chiffre suivante. On peut calculer A + F en hexadecimal de la meme maniere. La difference entre A (le decimal 10) et l’hexadecimal 10 (le decimal 16) est 6, et si l’on soustrait 6 de F (soit 15), on obtient 9 et une retenue de 1. A + F est donc 19 dans le systeme hexadecimal et 16 + 9 soit 25 dans le systeme decimal, 31 dans le systeme octal, 21 dans le systeme duodecimal et  dans le systeme binaire.    

Aussi disponible en

EspañolEnglishDeutsch
MBF Media Newsletter

Le briefing mensuel pour les décideurs

Une fois par mois, la newsletter MBF Media réunit l'essentiel de cloudmagazin, MyBusinessFuture, Digital Chiefs et SecurityToday, sélectionné par la rédaction.

25 000 décideurs IT et métiers lisent cette newsletter. Rejoignez-les.

S'abonner gratuitement
MBF Media Newsletter, aktuelle Ausgabe auf dem iPhone
Un magazine d'Evernine Media GmbH