Retour à la page d'accueil

Architecture matérielle : Codification

Auteur : Jean HENRI - Dernière mise à jour : 6 septembre 2002

Pour m'écrire

Sommaire

Partie 1 : Codification

Partie 2 : Numérisation

  • Numérisation des images
    • Images point;
    • Images vectorielles;
    • Images animées;
    • Images vidéo
  • Numérisation des sons
    • Le bruit;
    • La musique.

CODIFICATION: Présentation générale

Un ordinateur fonctionne selon le mode binaire : 0 ou 1. L'électronique impose ce mode de fonctionnement. Toute information manipulée par l'ordinateur doit s'écrire sous forme de 1 et de 0. Les grandeurs numériques sont donc manipulées facilement par les circuits électroniques.

Un ordinateur est une machine, donc il a nécessairement des limites matérielles. Nous ne pouvons donc pas "écrire" dans l'ordinateur comme sur une feuille de cahier : l'"espace de travail" de l'ordinateur est limité et quadrillé ! Les contraintes matérielles de la machine ont alors des conséquences sur la codification des grandeurs numériques.

Enfin, même si l'ordinateur est limité à la manipulation des valeurs numériques, il est possible de lui faire traiter d'autres types d'informations : les textes, les images, la musique, etc. Pour cela il suffit de pouvoir coder les informations sous forme numérique : le cédé audio en est l'exemple le plus courant.

CODIFICATION : Contrainte matérielle

Le mode binaire repose sur la base 2. Un chiffre binaire est donc l'élément minimum dans ce système : il s'agit, pour l'ordinateur, du bit. Mais un bit ne permet de coder que 2 valeurs (0 ou 1) ce qui est très limité. Il faut donc manipuler des ensembles de bit qui peuvent très vite devenir encombrants : notre valeur 1234 (en décimal) a besoin de 11 chiffres pour être écrite en binaire !

Base 2 oblige, le groupement par 8 (= 2^3) est devenu la référence : c'est l'octet. Un octet, avec ses 8 bits, permet de coder 256 valeurs différentes (2^8).

Mais dans la plupart des cas, c'est encore insuffisant. Les octets sont alors manipulés par 2, par 4 ou encore par 8 octets (remarquons la progression selon les puissances de 2).

La notion d'octet est donc omniprésente dans les codifications qui sont faites. Cela permet de comprendre pourquoi certaines valeurs numériques sont des références en informatique alors qu'en décimal elles n'ont rien de "rond".

CODIFICATION : Présentation des bases 2, 8 et 16

Nous utilisons quotidiennement la base 10, mais il est intéressant de se rappeler son fonctionnement :

Lorsque nous écrivons le nombre 1234, à chaque position d'un chiffre est associé une puissance de 10 (notre base)
à l'unité (ici 4) est associée la puissance 0, donc le 4 représente la valeur 4 x 10^0
à la dizaine (ici 3) est associée la puissance 1, donc le 3 représente la valeur 3 x 10^1
à la centaine (ici 2) est associée la puissance 2, donc le 2 représente la valeur 2 x 10^2
et ainsi de suite...

Les bases 2, 8 et 16 suivent le même principe avec les spécificités suivantes :

La base 2 utilise 2 chiffres (0 et 1) et chaque position est associée à une puissance de 2.
La base 8 utilise 8 chiffres (0, 1, 2, 3, 4, 5, 6 et 7) et chaque position est associée à une puissance de 8.
La base 16 utilisent 16 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F) et chaque position est associée à une puissance de 16.

En informatique, la base de référence est la base 2 mais les bases 8 et 16 sont également utilisées. Il est donc utile de savoir faire les conversions entre la base 10 et les bases 2, 8 ou 16. Il est également pratique de pouvoir traduire facilement des nombres de la base 2 vers les bases 8 ou 16, et vice-versa.

CODIFICATION : Codification des valeurs numériques - Nombres entiers non-signés

1 octet permet de représenter une valeur entière non signée comprise entre 0 et 255 (base 10).

2 octets permettent de représenter une valeur entière non signée comprise entre 0 et 65 535 (base 10).

4 octets permettent de représenter une valeur entière non signée comprise entre 0 et 4 294 967 296 (base 10).

8 octets permettent de représenter une valeur entière non signée comprise entre 0 et 18 446 744 073 709 551 616 (base 10).

CODIFICATION : Codification des valeurs numériques - Nombres entiers signés

Pour permettre des calculs simples par le processeur, la codification des nombres négatifs repose sur le principe du complément à 2 :

1) complément à 1 du nombre binaire;

2) incrément de 1 au résultat précédent.

1 octet permet de représenter une valeur entière non signée comprise entre -128 et +127 (base 10).

2 octets permettent de représenter une valeur entière non signée comprise entre -32 768 et +32 767 (base 10).

4 octets permettent de représenter une valeur entière non signée comprise entre -2 147 483 648 et +2 147 483 647 (base 10).

8 octets permettent de représenter une valeur entière non signée comprise entre -9 223 372 036 854 775 808 et +9 223 372 036 854 775 807 (base 10).

CODIFICATION : Codification des valeurs numériques - Nombres réels

 

CODIFICATION : Codification des dates

 

CODIFICATION : Codification des textes - les caractères

 

CODIFICATION : Codification des textes - les chaînes de caractères

 

CODIFICATION : Codification des textes - les codes de contrôle