Le Systèmes Hexadecimal
- Présentation
Après le binaire, voici venu une autre base : le système hexadécimal qui travaille en base 16.
Si vous avez suivi jusqu'ici, vous devinerez qu'il faudra 16 caractères différents pour représenter chacune des 16 valeurs.
C'est alors qu'avec une originalité déroutante, en hexadécimal, les caractères sont 0, 1, 2 etc. jusqu'à 9 ainsi que A, B, C, D, E et F.
Vous l'aurez compris : A en hexadécimal vaut 10 en décimal, B vaut 11, … et F vaut 15.
En hexadécimal, le changement de rang se fait donc à F. Ainsi E+1 = F et F+1 = 10 (dire “un-zéro”).
Plus compliqué : F+B = 1A.
Ça va ? Alors passons à la conversion !
- Conversion du décimal en hexadécimal
La conversion d'un nombre de la base 10 en base 16 est aussi “facile” qu'avec le binaire. Pour le binaire il fallait décomposer en puissances de 2, ici on décompose en puissances de 16.
Ces puissances de 16 sont ? Alors ? Ok, je vous donne les premiers :
160= 1
161= 16
162= 256
163= 4096
164= 65536
…
Pour l'exemple, je prendrais le nombre 1680. Il faut donc commencer par le décomposer en puissances de 16 :
1680 = 6×256 + 9×16 + 0×1
1680 = 6×162 + 9×161 + 0×160.
La conversion en hexadécimal de 1680 est donc 690 (lire “six-neuf-zéro”).
Un autre exemple : convertissons 2009 en hexadécimal : 2009 = 7×162 + 13×161 + 9×160. Le nombre en base 16 correspondant à 2009 est donc 7D9 (rappelez vous, chaque rang peut monter jusqu'à 15 en base 16, et le D vaut 13).
C'est le même principe qu'avec le binaire, le changement de base se fait juste à 16 au lieu de 2.
- Conversion de l'hexadécimal en décimal
Dans ce sens, c'est plus simple : prenons un nombre : 4F2C. Il a 4 rangs : chaque rang est une puissance de 16 : pour convertir, on multiplie le premier rang (en partant de la droite) par 160, le second par 161, etc.
Ainsi on obtient :
4F2C = 4×163 + F×162 + 2×161 + C×160
4F2C = 4×163 + 15×162 + 2×161 + 12×160
4F2C = 4×4096 + 15×256 + 2×16 + 12×1
4F2C hex = 20 268 dec.
C'est simple non ? Il suffit de prendre les puissances de 16 croissantes.
- Conversion du binaire en hexadécimal
La conversion entre l'hexadécimal et le binaire est super facile si vous savez manipuler ces bases entre les nombres 0 et 15.
Prenons un nombre en binaire : 101 0011 1011.
Notez que je l'ai séparé en blocs de 4 chiffres (comme on sépare les nombres en bloc de 3. Par exemple, 30000 s'écrit 30 000).
Ceci nous simplifie la tache : en effet, on sait que 4 rangs binaires permettent de monter jusqu'à 15. Et bien, 1 rang en hexadécimal aussi ! (Cela vient du fait que 24 (4 rangs en base 2) = 161 (1 rang en base 16)).
De cette façon, 4 bits en binaire seront représentés par un rang en hexadécimal !
Ainsi, le premier quadruplet : 1011 deviendra un seul rang en hexadécimal :
1011 = 11 en décimal = B en hexadécimal. Le second quadruplet 0011 devient 3 en hexadécimal ; et finalement le dernier : 101 (ou 0101) devient : 5.
Ainsi, (101 0011 1011)bin = (53B)hex.
- Conversion de l'hexadécimal en binaire
On va utiliser le même principe que ci-dessus, à savoir qu'un rang en base 16 correspond à 4 rangs en base 2.
On convertira le nombre hexadécimal BE57. On prend chaque rang que l'on convertit individuellement en binaire :
(B)hex <=> (11)dec <=> (1011)bin
(E)hex <=> (14)dec <=> (1110)bin
(5)hex <=> (5)dec <=> (0101)bin
(7)hex <=> (7)dec <=> (0111)bin
Prenez bien soin de mettre 0101 au lieu de 101, car il ne faut pas se tromper quand on va mettre les quadruplets bout à bout :
BE57 <=> 1011 1110 0101 0111 .
0 commentaires:
à votre signe