Chapitre 3.6
Binaire et hexadécimal
Un ordinateur est composé de milliards de transistors.
Un transistor est un composant électronique qui ne sait faire qu'une chose : laisser passer ou bloquer du courant en fonction d'un courant qu'il
reçoit en entrée. Comme un interrupteur sur lequel quelqu'un appuie pour allumer ou éteindre la lumière.
En les combinant, on peut créer des circuits capables de nombreuses opérations :
additions, soustractions, comparaisons, décisions...
La présence d'électricité est interprétée comme 1, son absence comme un 0. Il n'y a que deux états possibles.
C'est ce qu'on appelle le système binaire.
Chaque instruction qui arrive vers les transistors et qui en sort passe donc par une étape de conversion en binaire.
C'est pourquoi tout ce qui est lié à l'informatique est lié au chiffre 2 et à ses puissances.
Les puissances de 2 représentent des nombres obtenus en multipliant 1 par 2 plusieurs fois. Par exemple, 2 puissance 3, noté 2^3,
donne 1 x 2 x 2 x 2 = 8. Les puissances de 2 de 0 à 10 sont ainsi : 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024.
Si ces nombres te semblent familiers, c'est normal, on les retrouve partout :
espace de stockage d'un disque dur, vitesse de transfert sur un réseau, etc.
Le binaire
Dans la vie courante, nous comptons en base 10, aussi appelée système décimal.
Nous utilisons les chiffres de 0 à 9 avant de
passer à l'ordre de grandeur supérieur, c'est-à-dire à la colonne suivante dans le système de numération.
9 -> 10, 19 -> 20, 99 -> 100 : dès qu'une colonne revient à 0, on ajoute 1 à celle de gauche.
Compter en binaire, donc en base 2, c'est exactement pareil, mais avec juste les chiffres 0 et 1.
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010...
On remarque que :
- 1 en binaire = 1 en décimal = 2 ^ 0
- 10 en binaire = 2 en décimal = 2 ^ 1
- 100 en binaire = 4 en décimal = 2 x 2 = 2 ^ 2
- 1000 en binaire = 8 en décimal = 2 x 2 x 2 = 2 ^ 3
- 1 0000 en binaire = 16 en décimal = 2 x 2 x 2 x 2 = 2 ^ 4
Multiplier par 10 en base 2 revient à multiplier par 2 en base 10.
Autrement dit, en partant de la droite (position 0), la position des 1 en binaire vaut une puissance de 2 en décimal.
Exemple : 101011, il y a un 1 aux positions 0, 1, 3 et 5. 101011 en binaire = 2^0 + 2^1 + 2^3 + 2^5 = 1 + 2 + 8 + 32 = 43 en décimal.
La conversion dans l'autre sens est un peu plus compliquée, il faut diviser successivement par 2 et garder les restes.
Exemple avec 43 :
- 43 / 2 = 21, reste 1
- 21 / 2 = 10, reste 1
- 10 / 2 = 5, reste 0
- 5 / 2 = 2, reste 1
- 2 / 2 = 1, reste 0
- 1 / 2 = 0, reste 1
En lisant à l'envers, on retrouve bien 101011.
En anglais, un chiffre est appelé un digit, d'où la traduction de "digital" en "numérique".
Le mot digit vient du latin digitus, qui signifie doigt. Comme nos doigts sont utilisés pour compter,
le terme a, avec le temps, fini par désigner les chiffres eux-mêmes.
Le chiffre binaire, le "binary digit" a été nommé "bit".
L'hexadécimal
Pour éviter de manipuler une interminable séquence de 1 et de 0, les ingénieurs ont adopté une base plus compacte : l'hexadécimal, ou base 16.
Elle utilise 16 symboles : de 0 à 9, puis de A à F pour représenter les valeurs de 10 à 15.
Un chiffre hexadécimal représente exactement 4 bits. C'est ce qui rend cette base très pratique et facilement convertible en binaire.
Par exemple, 1111 0000 devient F0.
De nombreux logiciels se servent de l'hexadécimal comme représentation intermédiaire du binaire, à la fois lisible par les humains et directement convertible pour la machine.
Le binaire et l'hexadécimal sont omniprésents dans le monde tech. On les croise par exemple dans les codes couleurs
CSS, dans les permissions des fichiers sous Linux, dans la mise en place de réseaux, dans la cryptographie etc.
Nous les retrouverons dans la suite de ce guide.
