Les systèmes de numérations

Système décimal

Avant toute chose, il faut séparer les termes de chiffres et de nombres. Si les premiers ne sont que des symboles destinés à écrire des nombres (justement), les nombres sont eux un moyen de représenter une quantité de quelque chose. 1-2-3-4-5-6-7-8 et 9 sont des chiffres mais peuvent devenir des nombres s’ils sont utilisés pour définir une grandeur. 

Une fois cette différence rappelée, attardons-nous sur la notion de base (cf. Article sur le groupe de notation positionnelle par base). Dans le groupe des systèmes de numération décimal, on retrouve aussi le système binaire (base 2) et le système hexadécimal (base 16).  

Le système décimal est lui de base 10. C’est à dire qu’il fonctionne par puissance de 10. Afin de mieux comprendre, il faut savoir que ce système est constitué de 10 chiffres allant de 0 à 9, 0 étant considéré comme un chiffre.  Afin de savoir lire un nombre, il suffit de lire de droite à gauche les chiffres en ajoutant une puissance 10 à chaque nouveau chiffre.  

Les différentes façons de lire 12543 : 

12543 se lit douze-mille-cinq cent-quarante-trois et se décompose comme ceci : 
3 unités ==> 3
4 dizaine ==> 40 
5 centaines ==> 50 
2 milliers ==> 2000 
1 dizaine de millier ==> 10 000

Il est tout à fait possible d’écrire (et cela vous paraîtra peut-être encore plus simple) : 

Unité = 10°, Dizaine = 101, centaines =102, milliers = 10
Ou
12543 = (1×104) + (2×103) + (5×102) + (4×101) + (3×10°)

Système hexadécimal

Si le binaire (cf.article sur le système binaire) est le seul langage compréhensible par la machine, l’hexadécimal a été lui créé comme un liant entre décimal et binaire et faciliter la tâche de l’humain. Grâce à sa base 16, il permet de ne pas avoir à écrire en binaire des nombres qui deviendraient bien trop grand en binaire. Exemple : 100 est bien plus petit en Hexa (0x64) qu’en binaire (0b1100100). 

Tout comme les deux autres principaux systèmes du groupe, le système hexadécimal utilise une base 16 afin de faciliter son calcul. Cette base est constituée tant de chiffres (0 étant toujours considéré comme un chiffre) que de lettres répartis de façon logique :  0 1 2 3 4 5 6 7 8 9 A B C D E F. Un symbole en Hexa se décompose donc en un quartet en binaire et divise donc par 4 la taille des nombres tout en gardant un passage de l’un à l’autre sans faire de conversion. 

0 = 0 

1 = 1 

2 = 2  

3 = 3 

4 = 4 

5 = 5  

6 = 6 

7 = 7 

8 = 8 

9 = 9 

A = 10 

B = 11 

C = 12 

D = 13 

E = 14 

F = 15 

Pour le calcul, c’est aussi simple que le décimal : 

C6E5 (16) = (Cx163) + (6×162) + (Ex161) + (5×160) 

Soit 

C6E5 (16) = (12×4096) + (6×256) + (14×16) + (5×1) 

Donc 

C6E5 (16) = 49152 + 1536 + 224 + 5 = 50 917 

Conversion de binaire à hexadécimal

La conversion de binaire à décimale n’étant pas toujours chose aisée, il est plus simple de convertir tout d’abord de binaire à hexadécimale.  

Prenons 10100101101111110011

Regroupons d’abord les bits par octets (4) : 1010  0101  1011  1111 0011 

Puis superposons les aux hexadécimales : 

1010  0101  1011  1111 0011 
   A        5        B       F     3 

Soit 10100101101111110011 = A5BF3 = 678899 

C’est simple non ?