Le langage binaire et hexadécimal

Noter ce cours :

Liens sponsorisés :

Le langage binaire vient de la notation de contacteurs, notée 0 pour faux (quand le courant ne passe pas) et 1 pour vrai (quand le courant passe).

Ce codage est nommé base binaire et est utilisé par l'ordinateur pour comprendre et traiter les données. Les humains travaillent avec dix chiffres, c'est la notation décimale (base 10).

Bit

Le bit vient du terme Binary Digit (soit 0 soit 1 en langage binaire). On travaille donc avec les puissances de 2. C'est ainsi qu'avec 3 bit, on peux avoir 2^n valeurs codables, soit 2^3 (8) dans notre cas. Il y a donc 8 possibilités.

Valeur décimale Bit 3 (2^2) Bit 2 (2^1) Bit 1 (2^0) Calcul
0 0 0 0 0 = 0 * (2^2) + 0 * (2^1) + 0 * (2^0)
1 0 0 1 1 = 0 * (2^2) + 0 * (2^1) + 1 * (2^0)
2 0 1 0 2 = 0 * (2^2) + 1 * (2^1) + 0 * (2^0)
3 0 1 1 3 = 0 * (2^2) + 1 * (2^1) + 1 * (2^0)
4 1 0 0 4 = 1 * (2^2) + 0 * (2^1) + 0 * (2^0)
5 1 0 1 5 = 1 * (2^2) + 0 * (2^1) + 1 * (2^0)
6 1 1 0 6 = 1 * (2^2) + 1 * (2^1) + 0 * (2^0)
7 1 1 1 7 = 1 * (2^2) + 1 * (2^1) + 1 * (2^0)

Le code binaire est un code pondéré car il s'écrit sous forme d'additions de puissances de 2. Pour passer du binaire à la valeur décimale correspondante (en base 10), on additionne les nombres en les élevant à leurs puissances de 2 respectives.

Binaire réfléchi (code GRAY)

Il existe une autre forme (non pondérée cette fois) du code binaire, le code GRAY (aussi appelé binaire réfléchi). On ne peut modifier qu'un seul bit à la fois lorsque l'on passe d'un nombre n à un nombre n+1 et il existe une symétrie verticale :

Valeur Bits
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
Axe de symétrie
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

Octet

Un octet est un ensemble de 8 bit. Il permet de stocker des nombres pouvant aller jusqu'à 255 car il offre 2^8 soit 256 possibilités. C'est une unité très couramment utilisée en informatique.

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1

Quartet

Peu utilisé en informatique, le quartet est un ensemble de 4 bit.

Octet, Kilo-octet, Méga-octet

Depuis 1998, la commission électrotechnique internationale a normalisé les unités suivantes en puissances de 2 :

Opérations en binaire

Addition binaire

L'addition en binaire se fait de la même manière qu'en notation décimale: On commence à additionner les bits de droite (ceux appelés bits de poids faible) puis on pose une ou plusieurs retenue(s) lorsque la somme de deux bits de méme poids dépasse 1 (chiffre maximum en binaire).

Voyons comment additionner en binaire les nombres 31 (011111) et 25 (011001)

0 1 1 1 1 1
+ 0 1 1 0 0 1
1 1 1 0 0 0

Soustraction binaire

La soustraction en binaire se fait de la même manière qu'une addition, sauf que lorsque l'on soustrait un bit à un d'un bit à zéro, on soustrait une retenue pour le bit de poids plus élevé.

Voyons comment soustraire 25 du nombre 30 (il restera donc 5) :

0 1 1 1 1 0
- 0 1 1 0 0 1
0 0 0 1 0 1

Multiplication binaire

La multiplication binaire s'effectue de la même façon qu'en notation décimale : un nombre multiplié par 0 est égal à 0. On a donc :

Essayons via cet exemple de multiplier 31 (11111) par 6 (110) :

0 1 1 1 1 1
* 1 1 0
Résultats partiels
0 0 0 0 0 0
0 1 1 1 1 1
0 1 1 1 1 1
Somme des trois termes (résultat final)
1 0 1 1 1 0 1 0

Convertir des nombres binaires et décimaux

Pour convertir un nombre décimal en binaire, on a deux possibilités :

On divise par deux le nombre jusqu'à ce que le nombre trouvé soit 1. Voici un exemple avec le nombre 27 :

27 2
1 (5) 13 2
1 (4) 6 2
0 (3) 3 2
1 (2) 1 (1)

On part ensuite du sens inverse (on prend les bits numérotés successivement 1; 2; 3; 4; 5 en commençant par le chiffre en rouge, bit de poids faible). Donc 27 = 11011.

Deuxième méthode : on utilise les puissances :

27 = 1 * 2^0 + 1 * 2^1 + 1 * 2^3 + 1 * 2^4

Le langage hexadécimal

Le langage hexadécimal est un langage en base 16 venu freiner l'accroissement en longueur des nombres binaires. Pour composer ce langage, les 10 premiers chiffres suivis des six premières lettres de l'alphabet ont été utilisés :

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Notation décimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Notation binaire 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
Notation hexadécimale 0 1 2 3 4 5 6 7 8 9 A B C D E F

Conversion décimal vers hexadécimal :

Méthode des divisions successives (exemple pour 36 en décimal) :

36 16
4 2

On procède de la même manière qu'en binaire, à savoir que l'on remonte les valeurs de bas en haut. On obtient 36 (décimal) = 24 (hexadécimal). On peut retrouver et contrôler notre résultat en constatant que :

2 * 16^1 + 4 * 16^0 = 36

De l'hexadécimal au binaire :

Conservons notre nombre de 24 en hexadécimal (36 en décimal) :

On utilise ce qu'on appelle le code 1248 (se lit "un deux quatre huit").

2 4
0010 0100

2 = 0010 en binaire, et 4 est égal à 0100 en binaire. On en déduit ensuite le nombre binaire final qui est la concaténation de nos deux nombres binaires :

0010 0100

Ce nombre est égal à 36 en décimal, nous avons donc converti notre nombre hexadécimal en binaire, puis en décimal.

Vous avez aimé cet article intitulé Le langage binaire et hexadécimal ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels