Suivant Précédent Sommaire

2. Les bases du numérique

2.1. Le binaire et les octets

2.1.1. Les bases mathématiques

Tous les composants des ordinateurs et autres calculateurs utilisent seulement deux états : absence ou passage d'un courant, condensateur chargé ou déchargé, etc. Ce sont des phénomènes binaires. Le traitement d'informations par un ordinateur demande le codage des informations sous la forme de phénomènes physiques à deux états. Les travaux du mathématicien allemand Gottfried Wilheim Leibniz (1646 -1716), un des premiers spécialistes de la numération et de l'arithmétique binaire, et du mathématicien britannique George Boole (1815 -1864) sont à la base du traitement des nombres sous forme binaire. Ce système de numération n'utilise que deux symboles : 0 et 1 en raison des deux états physiques.

Nous utilisons généralement le système décimal ou système à base 10. Son alphabet est constitué de dix chiffres : 0; 1; 2; 3; 4; 5; 6; 7; 8 et 9. On peut écrire tous les nombres en attribuant à chaque unité de rang la valeur de dix unités du rang immédiatement inférieur.

Exemple:
1984 = 1000 + 900 + 80 + 4
  = 1 × 1000 + 9 × 100 + 8 × 10 + 4 × 1
  = 1 × 103 + 9 × 102 + 8 × 101 + 4 × 100

Le système décimal associe donc à chaque rang un poids fixe (100 pour le rang 0, 101 pour le rang 1, ..., 10n pour le rang n). On dit que ce code est pondéré. Il existe des codes non-pondérés, par exemple, le code utilisé par les chiffres romains.

En généralisant, on observe, pour tout système de numération pondéré à base B, qu'il existe un alphabet composé de B chiffres différents, et que le poids attribué à un rang est de B élevé à la puissance du numéro de rang. Donc un nombre exprimé en base B sous la forme d'une suite de n+1 chiffres :
N(B) = anan-1...a1a0
représente en fait le nombre décimal :
N = an × Bn + an-1 × Bn-1 + ... + a1 × B1 + a0 × B0
ou

Le nombre dans une base particulière est noté différemment : soit on le fait suivre du numéro de base ou de la première lettre du nom du système de numération (O pour octale, B pour binaire, H pour hexadécimal,...) entre parenthèse et en indice, par exemple, 25(8), ou 11101(B), soit on le précède de la lettre symbolisant la base et d'un apostrophe, par exemple H' FF ou B' 1001.

Le système binaire, ou système à base 2, respecte totalement cette numération. Les chiffres binaires sont appelés généralement bits (binary digit).

Exemple :
10111(2) = 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20
10111(2) = 16 + 0 + 4 +2 +1
10111(2) = 23

Il existe d'autres systèmes couramment utilisés en informatique le système octal (B=8) et le système hexadécimal (B=16, l'alphabet est composé de 16 "chiffres" 0, 1, 2, 3, 4, 5, 7, 8, 9, A, B, C, D, E, F).

Système décimal Système binaire Système octal Système hexadécimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Exemple de conversion : 17

Rang
17
: 2 = 8 reste 1
0
8
: 2 = 4 reste 0
1
4
: 2 = 2 reste 0
2
2
: 2 = 1 reste 0
3
1
: 2 = 0 reste 1
4

Donc 17(10) = 10001(2).

2.1.2. Les octets

Vu la quantité importante d'information que les ordinateurs doivent traiter, il a fallu grouper les bits par 8, en octet (symbole o). Des multiples ont été crées rapidement mais en commettant une erreur :

Ab. Nom Valeur    
o octet 8 bits    
Ko kilo-octet 210 o au lieu de 103
Mo méga-octet (210)2 o   106
Go giga-octet (210)3 o   109
To téra-octet (210)4 o   1012
Po péta-octet (210)5 o   1015
Eo exa-octet (210)6 o   1018
Zo zetta-octet (210)7 o   1021
Yo yotta-octet (210)8 o   1024

Un octet permet de stocker 8 bits ou 4 chiffres octales ou 2 chiffres hexadécimaux.

Cette erreur, qui parait peut importante au niveau du kilo-octet, devient rapidement conséquente. C'est pour quoi les comités scientifiques de divers pays, on eu l'idée de créer un système de préfixe spéciale en utilisant les deux premières lettres du préfixe standard et en y ajoutant "bi" : un kibi-octet (Kio) = 1024 octets, un mébi-octet (Mio) = (210)2,... Mais, au jour d'aujourd'hui, ces recommandations ne sont respectées ni par les particuliers ni par les entreprises.

2.2. Le codage des couleurs

Une couleur est codée de différente manière en fonction du matériel cible (moniteur, imprimante, etc.).

2.2.1. Les systèmes RGB et CMY(K)

Additivité de la lumière coloréeLe RGB utilise les trois couleurs des photophores, les petites pastilles qui deviennent luminescente sous l'effet des électrons, de l'écran de l'ordinateur ou de la télévision : le rouge (Red), le vert (Green) et le bleu (Blue). C'est pourquoi ce système est parfois traduit par RGB. L'œil à une distance normale ne peut différencier ces points et mélange ces trois couleurs pour en donner une seule. Les couleurs de la lumière sont additives, c'est-à-dire que l'on part du noir pour arriver à une couleur toujours plus claire.

Cube RGBOn peut imaginer un cube contenant tout les couleurs. Le système RGB est un système de forme cubique.

Généralement chaque composante est codée sur trois octets. On attribut par conséquent à chaque couleur un nombre entre 0 et 255 (FF en hexadécimal).

Quelques exemples de couleurs :
Blanc : R=255; G=255; B=255
Jaune : R=255; G=255; B=0

Les imprimantes à jet d'encre utilisent 4 encres différentes, les trois couleurs primaires (Cyan, Magenta, Jaune) et le noir. Au contraire de la lumière, les couleurs de la matière sont soustractive, c'est-à-dire que l'on part du blanc pour arriver au noir.

Cube CMYSoustractivité de la couleur materielle

Pour noter les couleurs, suivant les logiciels, on note chaque terme en pourcentage ou sur l'intervalle [0;255] comme pour le RVB.

On note une couleur soit par les valeur de C, M et Y :

C 1 M 1 Y 0 = Bleu
C 0,5 M 1 Y 1 = Rouge foncé

soit par les valeurs C, M, Y, K (pour blacK, noir) :

C' 1 M' 1 Y' 0 K 0 = Bleu
C' 0 M' 0,5 Y' 0,5 K 0,5 = Rouge foncé

Donc K = min (C, M, Y) et .

Théoriquement pour convertir une couleur RGB en CMY, il suffit d'appliquer cette formule :.

Mais à cause des problèmes de rendus papier les logiciels de graphisme préfèrent utiliser des formules plus complexes pour réduire l'écart Écran/Imprimante. Ces logiciels veulent être WYSIWIG.

2.2.2. Les systèmes intuitifs

Le HSL (Hue, Saturation, Luminance) : 2 concepts selon les logiciels, donc 2 formes.

Double cône HSLCône HSL

On range les couleurs de la manière suivante: sur la périphérie, on place les couleurs d'un spectre légèrement différent du spectre de la lumière visible.

La teinte passe ainsi successivement par les couleurs du spectre: rouge, orange, jaune, vert, cyan, bleu, indigo, violet, magenta... On repère la couleur par un angle, variant de 0° à 360°: le rouge est à 0°, le jaune à 60°, le vert 120°, le cyan 180°, le bleu 240° et le magenta 300°.

Pour le double cône, arrêtons-nous à l'angle 0° au rouge. Toutes les couleurs du triangle présentent la même teinte, mais varient en saturation et en luminosité. Plus on s'approche de l'axe central de la toupie, plus les rouges sont fades: ils sont peu saturés. Plus on s'en éloigne, plus les rouges sont vifs: ils sont saturés. En se promenant de bas en haut, on observe que les couleurs du bas sont sombres (peu lumineuses) et celles du haut, claires (lumineuses). Il en va ainsi pour toutes les tranches de la toupie, c'est-à-dire pour chacune des teintes.

Pour le simple cône, le principe est peu différent. Le blanc est considéré comme une couleur normale, c'est-à dire qu'il n'est pas plus lumineux qu'un rouge. La saturation 0 transforme un rouge lumineux en blanc.

L'intérêt d'un tel classement, c'est qu'il offre une approche "humaine" à la recherche d'une couleur. Lorsqu'on essaye de décrire une couleur, on donne naturellement (et sans s'en rendre compte) sa teinte, sa saturation et sa luminosité. Ainsi, on décrit le brun comme étant un "orange foncé et légèrement pâle": teinte (orange), luminosité (foncé), et saturation (légèrement pâle).

2.2.3. Les palettes

Les palettes sont des listes de couleurs particulières. Par exemple, si on utilise quatre couleurs seulement, au lieu de nommer à chaque fois la couleur en RGB, on met nos quatre couleurs dans une palette à laquelle, on fait référence à une couleur par son emplacement dans la liste, son index. L'indexation des couleurs permet de réduire la taille des images.

Les palettes courantes sont la palette de Windows, celle de MacOS et la palette dîtes Web. La palette Windows (256 couleurs), et la palette MacOS (256) résultent des longues évolutions des systèmes d'exploitation et ne sont pas vraiment très utiles pour des images modernes. Par contre la palette "Web" sécurisée est au contraire très logique. Pour simplifier, elle a été créée avec 216 couleurs seulement pour libérer, pour les autres applications du système, de l'espace dans la mémoire des cartes graphiques d'ancienne génération qui n'accepte que des index de couleurs sur 8 bits soit 256 index (28) de couleurs possibles. Ces couleurs ont été choisies parce que chaque valeur RVB est multiple de 51 ou 33(16).

La palette sécurisée en hexadécimal (RRVVBB):

FF0000 FF0033 FF0066 FF0099 FF00CC FF00FF
FF3300 FF3333 FF3366 FF3399 FF33CC FF33FF
FF6600 FF6633 FF6666 FF6699 FF66CC FF66FF
FF9900 FF9933 FF9966 FF9999 FF99CC FF99FF
FFCC00 FFCC33 FFCC66 FFCC99 FFCCCC FFCCFF
FFFF00 FFFF33 FFFF66 FFFF99 FFFFCC FFFFFF
CC0000 CC0033 CC0066 CC0099 CC00CC CC00FF
CC3300 CC3333 CC3366 CC3399 CC33CC CC33FF
CC6600 CC6633 CC6666 CC6699 CC66CC CC66FF
CC9900 CC9933 CC9966 CC9999 CC99CC CC99FF
CCCC00 CCCC33 CCCC66 CCCC99 CCCCCC CCCCFF
CCFF00 CCFF33 CCFF66 CCFF99 CCFFCC CCFFFF
990000 990033 990066 990099 9900CC 9900FF
993300 993333 993366 993399 9933CC 9933FF
996600 996633 996666 996699 9966CC 9966FF
999900 999933 999966 999999 9999CC 9999FF
99CC00 99CC33 99CC66 99CC99 99CCCC 99CCFF
99FF00 99FF33 99FF66 99FF99 99FFCC 99FFFF
660000 660033 660066 660099 6600CC 6600FF
663300 663333 663366 663399 6633CC 6633FF
666600 666633 666666 666699 6666CC 6666FF
669900 669933 669966 669999 6699CC 6699FF
66CC00 66CC33 66CC66 66CC99 66CCCC 66CCFF
66FF00 66FF33 66FF66 66FF99 66FFCC 66FFFF
330000 330033 330066 330099 3300CC 3300FF
333300 333333 333366 333399 3333CC 3333FF
336600 336633 336666 336699 3366CC 3366FF
339900 339933 339966 339999 3399CC 3399FF
33CC00 33CC33 33CC66 33CC99 33CCCC 33CCFF
33FF00 33FF33 33FF66 33FF99 33FFCC 33FFFF
000000 000033 000066 000099 0000CC 0000FF
003300 003333 003366 003399 0033CC 0033FF
006600 006633 006666 006699 0066CC 0066FF
009900 009933 009966 009999 0099CC 0099FF
00CC00 00CC33 00CC66 00CC99 00CCCC 00CCFF
00FF00 00FF33 00FF66 00FF99 00FFCC 00FFFF

Suivant Précédent Sommaire