Cours Stage - Le codage binaire

Exercice : Du bit aux couleurs

L'énoncé

Le codage RVB (Rouge Vert Bleu) ou RGB (de l'anglais Red Green Blue) est un système de codage informatique des couleurs. L'informatique utilise des nombres codés en système binaire par octet. Ainsi, on attribue un octet à chacun des canaux de couleur primaire.


Question 1

Quel est l'espace mémoire (en bits) occupé par un code couleur RGB ?

Un code RGB est composé de 3 octets : un pour le rouge, un autre pour le vert et un dernier pour le bleu. Un octet étant composé de 8 bits, on en déduit que l'espace mémoire occupé par un code RGB est de $3\times8 = 24$ bits.

Combien d'octets sont nécessaire pour un code couleur RGB ?

Question 2

Combien de codes couleurs différents peut-on coder avec ce système ?

Un octet permet de coder 256 valeurs différentes. Ce système produit ainsi $256^3 = 16 \space 777 \space 216$ codes couleurs.

On peut aussi utiliser le fait qu'un code RGB soit encodé sur 24bits : $2^{24} = 16 \space 777 \space 216$.

Le rouge, le vert et le bleu peuvent prendre une valeur comprise entre 0 et 255.

Question 3

Convertir le code couleur RGB(239,155,15) en code hexadécimal (HEX).

Pour convertir un nombre sous notation décimale en notation hexadécimale on suit les étapes suivantes :

  1. Faire la division euclidienne du nombre par 16 (on ignore les chiffres après la virgule).
  2. Chercher le reste de la division : $reste = dividende - (quotient\times{diviseur})$ et l'écrire en notation hexadécimale.
  3. Recommencer le processus avec le quotient jusqu'à ce qu'il soit inférieur à 16.
  4. Ecrire le nombre en notation hexadécimale.

 

Commençons par convertir 239 en hexadécimal. En appliquant les étapes ci-dessus :

  1. $239\div16 = 14$
  2. $239 - 224 = 15 = F$
  3. $14 < 16$, donc $14 = E$ est le premier chiffre.
  4. On obtient $239_{10} = EF_{16}$

 

Le processus est le même pour 155 et 15, on trouve $155_{10} = 9B_{16}$ et $15_{10} = 0F_{16}$. Le code hexadécimal est #EF9B0F.

Utilisez la division euclidienne (ou entière) du nombre par 16.

Question 4

Convertir le code couleur RGB(102,153,205) en écriture binaire sur 24 bits.

On rempli le tableau :

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

 

Le code couleur en écriture binaire est donc : 011000110 10011001 11001101.

Utilisez un tableau à partir des 8 premières puissances de 2 (de 0 à 7).


128 ($2^7$) 64 ($2^6$) 32 ($2^5$) 16

Question 5

Convertir le code code couleur 00110000 11001010 10011101 sous forme hexadécimal.

On coupe le mot binaire en quartets en commençant par la droite : 00110000 11001010 10011101 = (0011)(0000)(1100)(1010)(1001)(1101).

On convertit les quartets :

  • 0011 → 3
  • 0000 → 0
  • 1100 → 12 → C
  • 1010 → 10 → A
  • 1001 → 9
  • 1101 → 13 → D

On obtient le code couleur HEX : #30CA9D.

Coupez le mot binaire en quartets en commençant par la droite.


Ecrire les quartets en notation décimale puis hexadécimale.

Contactez notre service clients