Chapitre 2. Le codage de l'information

Table des matières

1. Un exemple simple : coder les entiers positifs
2. Coder les entiers relatifs
3. Le codage des textes - première approche
4. Échantillonnage : exemple des sons
5. Échantillonnage multidimensionnel
6. Cas des signaux multidimensionnels

1. Un exemple simple : coder les entiers positifs

Usuellement nous utilisons la base dix pour représenter les nombres, principalement parce que nous avons dix doigts... et du fait du poids de l'histoire. En revanche, dans le domaine informatique, il est parfois utile de travailler avec d'autres bases de numération.

Rappel : cent quarante cinq s'écrit « 145 » en base dix, ou décimale, parce que : 145=1×102+4×10+5.

La première base de l'informatique est la base deux, ou binaire. Son intérêt est qu'écrire un nombre en binaire correspond à une série de 0 et de 1, donc naturellement à une écriture sous forme de série de bits. C'est d'ailleurs le codage habituel des entiers naturels.

Exemple : 81=64+16+1=26+24+1=1010001b (on écrit parfois, en informatique, 0b1010001). Attention : cette écriture ne se lit pas « un millions dix mille un », mais « un zéro un zéro zéro zéro un binaire ».

Pour s'entraîner au binaire, on pourra utiliser le petit jeu en ligne diffusé par Cisco : Cisco Binary Game.

Les informaticiens utilisent aussi parfois la base huit, ou octale... (mais c'est devenu rare aujourd'hui). Elle peut s'obtenir rapidement en groupant les chiffres binaires par trois.

Exemple : 81=1×64+2×8+1=1×82+2×8+1=121o (on écrit parfois, en informatique, 0121, attention).

Une autre base, la base seize ou hexadécimale, est particulièrement intéressante parce qu'elle permet d'écrire avec deux chiffres exactement les données codées sur un octet (256=16×16). Comme 16=24, chaque chiffre hexadécimal correspond à 4 chiffres binaires. Comme cette base comporte plus de dix chiffres, on complète les chiffres habituels par les premières lettres :

hexadécimal (base 16)0123456789ABCDEF
binaire (base 2)0000000100100011010001010110011110001001101010111100110111101111
décimal (base 10)0123456789101112131415

Exemple de conversion décimal→hexadécimal : 82=5×16+2=52h. En programmation on écrit souvent : 0x52.

Exemples de conversion hexadécimal→décimal : A4h=10×16+4=164, 33h=3×16+3=51, FFh=15×16+15=255.

Si l'on représente un niveau, par exemple de couleur ou de transparence, comme dans les formats d'image habituels, par un octet, donc essentiellement un nombre entre 0 et 255, chaque niveau se représente par deux chiffres hexadécimaux. Voici quelques exemples :

hexadécimal00336699CCFF
décimal051102153204255
proportion0 %20 %40 %60 %80 %100 %