L’hexadecimal
La notation hexadecimal est également un système de numération très utilisé en informatique, notament avec les
langages de programmation de bas niveau tel que l’assembleur.
Le fonctionnement de l’hexadecimal est identique à celui du decimal ou du binaire, sauf que dans ce cas, au
lieu de compter jusqu’à 9 ou 1, on va jusqu’à 15.
Mais là, problème : comment faire pour representer les chiffres au delà de 9 ? On utilise tout simplement les
lettres A, B, C, D, E et F.
Voici un tableau d’equivalence decimal <-> hexadecimal :
| Decimal | Hexadecimal |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
Les rêgles de conversion restent les mêmes, donc pour convertir le nombre 7D2 en notation decimal, on
effectuera les calculs suivants :
7D2 = 7 x 162 + D x 161 + 2 x 160
= 7 x 256 + 13 x 16 + 2 x 1
= 1792 + 208 + 2
= 2002
Evidemment, la conversion decimal <-> hexadecimal suit aussi les mêmes régles. Prenons pour exemple le
nombre 11259375 :
11259375 / 165 = 10 = A --> reste 773615
773615 / 164 = 11 = B --> reste 52719
52719 / 163 = 12 = C --> reste 3567
3567 / 162 = 13 = D --> reste 239
39 / 161 = 14 = E --> reste 15
15 / 160 = 15 = F --> reste 0
11259375 --> ABCDEF (lecture de haut en bas)
Mais pourquoi utiliser la notation hexadecimal? Pour plusieurs raisons :
- Tout d’abord, la notation hexadecimal permet de representer facilement un octet (28) en
seulement 2 caractères (162).
Par exemple, 111111112 = FF16. Le nombre de caractères à utiliser est divisé
par 2, ce qui d’une part va plus vite à écrie, et d’autre part permet de réduire le risque d’erreur. - 16 = 24. La conversion binaire <-> hexadecimal devient beaucoup plus facile à
réaliser, et vice-versa, car une lettre hexadecimal equivaut à 4 bits (exposant 4).
Par exemple, prenons 303916 :3-> 0011 0-> 0000 3-> 0011 9-> 1001 303916 = 00110000001110012
Et comme éconcé plus haut, la réciproque est aussi vrai. Prenons 1111111011011100 :
1111-> F 1110-> E 1101-> D 1100-> C 11111110110111002 = FEDC16
je comprend po pk on met exposant 5, 3, 2, 1, 0 (ex)Merci
Ben pour convertir, tout simplement :-\
Pourais-tu preciser un peu plus ta pensée
comment fait on pour convertir :
50 000 en hexadecimal
la solution si ce n’est pas trop tard.
50000 –> 16*3=12=C reste 848
848 –> 16*2=3 reste 80
80 –> 16*1=5 reste 0
0 –> 16*0=0
soit 50000 en base 10=C350 en base 16=
1100 0011 0101 000 en binaire
Slt !
Peux-tu m’expliquer le raisonnement de : 7D2 = 7*16 au carré * 13 * 16
Je comprends bien que D = 13.
As-tu fait 7*7 + 2 ? si oui pourquoi ?
Merci de ta bonne compréhension.
bon cour thx!
Vraiment ça devient plus facile!!
Merci bien
Monsieur Hawks_69 – pour votre réponse posté dimanche 01 août 2004 à 16:27
il vous manque un petit zéro
1100 0011 0101 0000