Exercice 1

  1. Suite des divisions par deux de 228 :

    228 114 57 28 14 7 3 1
    0 0 1 0 0 1 1 1

    Donc la représentation binaire de 228 est 11100100. Vérification : 4 + 32 + 64 + 128 = 228.

    Pour obtenir la représentation hexadécimale, on regroupe les chiffres par paquets de quatre, à partir de la droite : 1110|0100, soit E4. Vérification : 14 * 16 + 4 = 224 + 4 = 228.

  2. Pour en déduire la représentation binaire de 227, il faut retrancher 1 à la représentation binaire de 228, et donc remplacer les zéros les plus à doite par 1, et le premier 1 (en lisant de droite à gauche) par zéro, soit : 11100011.

  3. La représentation binaire d'un multiple de 4 se termine par 00 ; sa représentation hexadécimale se termine par 0, 4, 8 ou B.

Exercice 2

On considère une palette où chacune des trois couleurs primaires (R, G, B) a seulement quatre intensités possibles.
  1. Six chiffres binaires sont nécessaires pour coder une couleur (deux pour chaque composante primaire).

  2. Cette palette comporte 43 = 64 couleurs.

  3. Si, pour chaque couleur primaire, on code (en hexadécimal) 00 l'intensité minimale et FF l'intensité maximale, les deux niveaux intermédiaires doivent être codés 55 et AA (car F correspond à 15, donc les deux niveaux intermédiaires correspondent à 15 / 3 = 5, et 2 * 15 / 3 = 10).

    La teinte rose est "rouge claire", donc c'est une couleur intermédiaire entre le rouge pur (FF0000) et le blanc (FFFFFF), par exemple FFAAAA. Voici pour mémoire la gamme des 16 teintes obtenues avec la composante rouge maximale :

    FF0000 FF0055 FF00AA FF00FF
    FF5500 FF5555 FF55AA FF55FF
    FFAA00 FFAA55 FFAAAA FFAAFF
    FFFF00 FFFF55 FFFFAA FFFFFF

Exercice 3

On considère une (petite) image de 48 lignes et 64 colonnes. Chaque pixel est stocké, comme d'habitude, sur trois octets, et l'image est stockée ligne par ligne (d'abord les pixels de la première ligne, puis ceux de la seconde ligne, etc.).
  1. L'image occupe 48 * 64 * 3 = 3 * 24 * 26 * 3 = 9 * 210 = 9 Ko.

  2. Chaque ligne occupe 3 * 64 = 192 octets. Si le premier octet de l'image est numéroté 0 (ce qui est la règle habituelle), l'octet numéro 1920 est le premier octet de la ligne 11, et il correspond à la composante rouge de la colonne 1. Si le premier octet de l'image est numéroté 1, l'octet numéro 1920 est le dernier octet de la ligne 10, et il correspond à la composante bleue de la colonne 64.

Exercice 4

    mystere := proc (n)
      k := 0;
      p := 1;
      while p < n do
        p := 2 * p;
        k := k + 1;
      od;
      [k, p];
    end;
La fonction mystere calcule le couple (k, p), avec p = 2k, où p est la plus petite puissance de deux supérieure ou égale à n (k est l'exposant). En particulier, mystere (200) vaut (8, 256).