Accueil > Maths appliquées > L’hexadecimal

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
    
Categories: Maths appliquées Tags:
  1. SnoWeR
    23/04/2002 à 18:21 | #1

    je comprend po pk on met exposant 5, 3, 2, 1, 0 (ex)Merci

  2. webmaster
    24/04/2002 à 00:15 | #2

    Ben pour convertir, tout simplement :-\
    Pourais-tu preciser un peu plus ta pensée :-)

  3. diane
    05/07/2004 à 13:23 | #3

    comment fait on pour convertir :
    50 000 en hexadecimal

  4. Hawks_69
    01/08/2004 à 16:27 | #4

    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

  5. nargis
    28/08/2004 à 01:54 | #5

    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.

  6. shinux
    03/10/2004 à 14:04 | #6

    bon cour thx!

  7. sammah
    23/03/2006 à 06:18 | #7

    Vraiment ça devient plus facile!!
    Merci bien ;-)

  8. sammah
    23/03/2006 à 06:31 | #8

    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

  1. Pas encore de trackbacks