Le site du prof

Représentation des données

Niveau 0

Authentifiez-vous pour suivre votre progression !


Représentation des entiers naturels

Notion de bases de numération

Compter en base 10

Lorsqu’on compte, on utilise 10 chiffres, allant de 0 à 9. Une fois que l’on a épuisé l’ensemble de ces chiffres, on ajoute une colonne des dizaines, puis on compte, pour chaque dizaine allant de 0 à 9, le nombre d’unités allant de 0 à 9. Une fois atteintes les 9 dizaines + 9 unités, on passe aux centaines, etc.

Pour représenter ce nombre, on juxtapose les chiffres ayant chacun un rang (centaine, dizaine, unité, etc.) égal à une puissance entière de la base de numération (10², 10¹, 10⁰, etc.). Les chiffres s’écrivent de gauche à droite, par valeur décroissante de leur poids :

Compter dans une autre base

Comment ferait-on si on disposait de moins de chiffres, par exemple seulement 4, comme les shadoks ? Pour simplifier, supposons qu'il s'agit des 4 chiffres 0, 1, 2 et 3 (au lieu de ga, bu, zo et meu).

La réponse est simple, on procède exactement de la même manière :

  • On commence par les unités : 0, puis 1, 2 et 3.
  • Ensuite, on ajoute 1 au nombre de dizaines, et on recommence : 10, 11, 12, 13, et ainsi de suite : 20, 21, 22, 23 puis 30, 31, 32, 33.
  • On passe maintenant aux centaines : 100, 101, 102, 103, 110, 111, 112, 113, 120, 121, 122, 123, 130, 131, 132, 133, 200, 201, ...

Au final, chaque nombre en base 10 possède un équivalent en base 4 :

Base 10012345678910111213
Base 4012310111213202122233031

Base 2 : Le système binaire

En raison de la composition physique des ordinateurs (circuits électriques et transistors ayant seulement deux états possibles), on ne peut représenter les données en mémoire qu’à l’aide de deux symboles 0 ou 1.

Compter en base 2

Le principe est exactement le même qu'en base 10 ou 4 : on se contente d'ajouter un nouveau rang lorsque tous les rangs précédents sont à 1.

Vocabulaire

Un nombre en base 2 (10110101 par exemple) est souvent appelé un mot binaire, et un chiffre est appelé un bit.

Un mot de 8 bits est appelé un octet. En informatique, les données sont souvent formatées par multiples d’octets (8 bits, 16 bits, 32 bits, etc.).

Dans un mot binaire, le bit le plus à gauche est appelé le bit de poids fort, et le bit le plus à droite est appelé bit de poids faible.

DécimalBinaire
00
11
210
311
4100
5101
6110
7111
81000
91001
101010
111011
121100
131101
141110
151111
1610000
1710001

Combien de valeurs peut-on coder sur n bits ?

En base 10, on peut écrire 10 nombres différents avec un seul chiffre, 100 (10 x 10 = 102) nombres différents avec 2 chiffres, 1000 (10 x 10 x 10 = 103) nombres différents avec 3 chiffres, et ainsi de suite. En réalité, cela fonctionne avec toutes les bases.

À retenir

Sur N bits, on peut coder 2N valeurs différentes, entre 0 et 2N-1

Convertir de la base 2 vers la base 10

Pour convertir un nombre depuis une autre base vers la base 10, il suffit de multiplier chaque chiffre par son poids et d’additionner l’ensemble :

(1101)2 = 1 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2⁰ = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = (13)10

Convertir de la base 10 vers la base 2

Pour convertir un nombre en base 10 vers la base 2, il faut effectuer des divisions successives. On divise le nombre de départ par 2, on note le reste à droite, puis on recommence avec le résultat, en notant les restes de droite à gauche :


Base 16 : Le système hexadécimal

D’autre part, pour faciliter la lecture des nombres binaires, on utilise la représentation hexadécimale (en base 16), dont l’alphabet comprend les 10 chiffres de la base 10, puis les lettres allant de A à F.

Convertir de la base 16 vers la base 10

Le principe est le même que pour la base 2 :

(3F)16 = 3 x 16¹ + 15 x 16⁰ = 48 + 15 = (63)10

Convertir de la base 10 vers la base 16

Là encore, le principe est le même que pour la base 2, il suffit de faire des divisions successives, mais par 16. Et si le reste est supérieur à 10, on le remplace par la lettre correspondante :

Convertir entre la base 2 et la base 16

Il s'agit de l'un des avantages de la base 16 : Le passage entre la base 2 et la base 16 est très simple.

Il suffit de regrouper les bits par 4, puis de convertir chaque groupe en héxadécimal, en les gardant dans le même ordre. Et cela marche dans les deux sens :

(0100 1101 0010 1100)2 = (4D2C)16

(FF34A2)16 = (1111 1111 0011 0100 1010 0010)2

DécimalBinaireHexadécimal
000
111
2102
3113
41004
51015
61106
71117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F
161000010
171000111

Remarque

Attention, il faut bien veiller à garder des groupes de 4 bits. On ajoute des 0 devant si besoin.