Accueil/Mathématiques /Chapitre 01 /Exercices corrigés hors programme

Systèmes de numération — exercices

Les exercices du cours et du test de novembre, refaits pas à pas.

🎯

Le réflexe qui rapporte le plus

Vérifiez chaque conversion en repassant dans l'autre sens. Une conversion prend une minute ; la vérifier en prend trente secondes et supprime presque toute possibilité d'erreur. C'est aussi ce que le barème récompense : montrer le contrôle, c'est montrer qu'on sait ce qu'on fait.

01Lire un nombre

1Décomposer en puissances Facile

Décomposez et donnez la valeur décimale :

  1. 1011₂
  2. 101 1101₂
  3. 101 0100 0111₂
✅ Correction
calcul
1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰
      = 8 + 0 + 2 + 1
      = 11₁₀

101 1101₂ = 1×2⁶ + 0×2⁵ + 1×2⁴ + 1×2³ + 1×2² + 0×2¹ + 1×2⁰
          = 64 + 0 + 16 + 8 + 4 + 0 + 1
          = 93₁₀

101 0100 0111₂ = 1×2¹⁰ + 1×2⁸ + 1×2⁶ + 1×2² + 1×2¹ + 1×2⁰
               = 1024 + 256 + 64 + 4 + 2 + 1
               = 1351₁₀
🧰 Compter les bits d'abord

101 0100 0111 compte 11 bits, donc l'exposant de gauche est 10. Écrivez ce nombre avant de commencer : c'est là que se joue la moitié des erreurs de ce chapitre.

Et n'écrivez que les termes utiles — les six colonnes à 0 n'apportent rien.

Contrôle de parité : les trois nombres finissent par 1, ils sont donc impairs. 11, 93 et 1351 le sont ✔.

2Combien de bits ? Moyen

Sans convertir : combien de bits faut-il au minimum pour écrire 397₁₀ ? Et 1000₁₀ ? Justifiez.

✅ Correction

On cherche la plus grande puissance de 2 inférieure ou égale au nombre : son exposant, plus 1, donne le nombre de bits.

calcul
397 :  256 ⩽ 397 < 512     soit  2⁸ ⩽ 397 < 2⁹
       → exposant max 8 → 8 + 1 = 9 bits

1000 : 512 ⩽ 1000 < 1024   soit  2⁹ ⩽ 1000 < 2¹⁰
       → exposant max 9 → 9 + 1 = 10 bits
n bits couvrent 0 à 2n − 1

Vérification : 9 bits couvrent 0 à 511, et 397 y est ✔. 10 bits couvrent 0 à 1023, et 1000 y est ✔ — mais 9 bits (max 511) ne suffiraient pas.

Utilité immédiate : une fois la conversion faite, comptez les bits obtenus. S'il n'y en a pas 9 pour 397, il y a une erreur — et vous la trouvez avant de rendre.

02Conversions

3Décimal → binaire, les deux méthodes Facile

Convertissez 392₁₀ par la méthode soustractive, puis 251₁₀ par les divisions successives par 2.

✅ Correction
calcul — 392, soustractions
392 − 1 × 256 = 136    → 1
136 − 1 × 128 =   8    → 1
  8 − 0 ×  64 =   8    → 0
  8 − 0 ×  32 =   8    → 0
  8 − 0 ×  16 =   8    → 0
  8 − 1 ×   8 =   0    → 1
  0 − 0 ×   4 =   0    → 0
  0 − 0 ×   2 =   0    → 0
  0 − 0 ×   1 =   0    → 0

392₁₀ = 1 1000 1000₂       (9 bits : 256 ⩽ 392 < 512 ✔)
calcul — 251, divisions par 2
251 │ 2
  1 │ 125 │ 2
      1 │ 62 │ 2
           0 │ 31 │ 2
                1 │ 15 │ 2
                     1 │ 7 │ 2
                         1 │ 3 │ 2
                             1 │ 1 │ 2
                                 1 │ 0

lecture des restes de BAS en HAUT : 1 1 1 1 1 0 1 1

251₁₀ = 1111 1011₂         contrôle : 128+64+32+16+8+2+1 = 251 ✔

Le sens de lecture est le seul vrai piège des divisions successives. Un moyen mnémotechnique : le dernier reste est le bit de poids fort — c'est lui qui « pèse » le plus, donc il passe devant.

4Décimal → hexadécimal Moyen

Convertissez 3151₁₀ par la méthode soustractive, et 3167₁₀ par les divisions successives. Vérifiez les deux.

✅ Correction

Les poids hexadécimaux : 1, 16, 256, 4096, 65 536. Comme 3151 < 4096, on commence à 256.

calcul — 3151, soustractions
3151 ÷ 256 = 12,3…  →  12  (soit C)

3151 − 12 × 256 = 3151 − 3072 = 79    → C
  79 −  4 ×  16 =   79 −   64 = 15    → 4
  15 − 15 ×   1 =              =  0   → F

3151₁₀ = C4F₁₆

contrôle : 12×256 + 4×16 + 15 = 3072 + 64 + 15 = 3151 ✔
calcul — 3167, divisions par 16
3167 │ 16
  15 │ 197 │ 16        3167 = 16 × 197 + 15
       5   │ 12 │ 16    197 = 16 ×  12 +  5
             12 │  0     12 = 16 ×   0 + 12

restes de bas en haut : 12 , 5 , 15  →  C , 5 , F

3167₁₀ = C5F₁₆

contrôle : 12×256 + 5×16 + 15 = 3072 + 80 + 15 = 3167 ✔
⚠️ Traduire les restes ⩾ 10 en lettres

Un reste de 12 s'écrit C, pas « 12 ». Écrire 12 5 15₁₆ n'a aucun sens : chaque position ne porte qu'un seul chiffre. C'est l'erreur la plus fréquente des conversions hexadécimales, et elle coûte tout le point.

10=A · 11=B · 12=C · 13=D · 14=E · 15=F

5Hexa ↔ binaire sans calcul Facile

Convertissez, sans passer par le décimal :

  1. 8B7₁₆ en binaire
  2. 1 1010 1111₂ en hexadécimal
  3. FF₁₆ en binaire, puis en décimal
✅ Correction
calcul
1)  8 → 1000    B → 1011    7 → 0111
    8B7₁₆ = 1000 1011 0111₂

2)  on regroupe par 4 EN PARTANT DE LA DROITE :
    1 1010 1111  →  0001 1010 1111
                     ↑ complété à gauche
    0001 → 1    1010 → A    1111 → F
    1 1010 1111₂ = 1AF₁₆

3)  F → 1111    F → 1111
    FF₁₆ = 1111 1111₂ = 128+64+32+16+8+4+2+1 = 255₁₀

FF₁₆ = 255₁₀ est la valeur à connaître par cœur : c'est un octet plein. On la retrouve dans les masques de sous-réseau (255.255.255.0) et dans les couleurs web (#FFFFFF = blanc, les trois canaux au maximum).

Aucun calcul dans cet exercice : seulement la table des 16 quartets. C'est la conversion gratuite, et c'est pour elle que l'hexadécimal existe.

03Le tableau du test

6Compléter les trois colonnes Moyen

Exercice réellement posé au test de novembre. Complétez :

Base 10Base 2Base 16
?0011 0111₂?
??23A₁₆
395₁₀??
210,5₁₀?non demandé
✅ Correction
Base 10Base 2Base 16
550011 0111 37
5700010 0011 1010 23A
3951 1000 1011 18B
210,51101 0010,1 —

Ligne 1 — on part du binaire, le plus économique :

calcul
0011 0111₂ = 32 + 16 + 4 + 2 + 1 = 55₁₀
0011 → 3   0111 → 7              = 37₁₆

contrôle : 3×16 + 7 = 55 ✔

Ligne 2 — hexa vers les deux autres :

calcul
2 → 0010   3 → 0011   A → 1010
23A₁₆ = 0010 0011 1010₂

23A₁₆ = 2×256 + 3×16 + 10 = 512 + 48 + 10 = 570₁₀

Ligne 3 — décimal vers les deux autres :

calcul
395 − 256 = 139   → 1        395₁₀ = 1 1000 1011₂
139 − 128 =  11   → 1
 11 −  64 : non   → 0        puis on regroupe par 4 :
 11 −  32 : non   → 0        0001 1000 1011
 11 −  16 : non   → 0        1     8     B
 11 −   8 =   3   → 1
  3 −   4 : non   → 0        395₁₀ = 18B₁₆
  3 −   2 =   1   → 1
  1 −   1 =   0   → 1        contrôle : 256 + 8×16 + 11 = 395 ✔

Ligne 4 — les deux parties séparément :

calcul
210 = 128 + 64 + 16 + 2 = 1101 0010₂
0,5 = 2⁻¹               = 0,1₂

210,5₁₀ = 1101 0010,1₂
🧭 Par où commencer dans chaque ligne

La colonne donnée n'est pas toujours la plus commode comme point de départ :

  • Si le binaire est donné → l'hexa est gratuit (regroupement), et le décimal se calcule.
  • Si l'hexa est donné → le binaire est gratuit, et le décimal se calcule à partir de l'un ou l'autre.
  • Si le décimal est donné → convertir en binaire (le plus sûr), puis regrouper pour l'hexa. Une seule conversion réelle au lieu de deux.

04Opérations binaires

7Les quatre opérations du test Moyen

Effectuez en binaire, en détaillant, puis vérifiez en décimal :

A = 1101₂ + 1011₂B = 101₂ + 1₂ + 11₂
C = 1101₂ × 11₂D = 11000₂ ÷ 110₂
✅ Correction
calcul — A
   ¹ ¹ ¹
   1 1 0 1        1101₂ = 13₁₀
 + 1 0 1 1        1011₂ = 11₁₀
 ─────────
 1 1 0 0 0        11000₂ = 24₁₀      et 13 + 11 = 24 ✔
calcul — B, deux par deux
d'abord  101 + 1 :          puis  110 + 11 :

     1 0 1                        1 1 0
   +     1                      +  1 1
   ───────                      ───────
     1 1 0                      1 0 0 1

B = 1001₂ = 9₁₀          contrôle : 5 + 1 + 3 = 9 ✔
calcul — C
       1 1 0 1          1101₂ = 13₁₀
     ×     1 1            11₂ =  3₁₀
     ─────────
       1 1 0 1           ← × 1
     1 1 0 1 ·           ← × 1, décalé
     ─────────
   1 0 0 1 1 1

C = 100111₂ = 32 + 4 + 2 + 1 = 39₁₀      et 13 × 3 = 39 ✔
calcul — D
11000₂ = 24₁₀        110₂ = 6₁₀        24 ÷ 6 = 4 = 100₂

   1 1 0 0 0 │ 1 1 0
 − 1 1 0     │ ─────────
 ───────────  │  1 0 0
   0 0 0 0 0  │

D = 100₂  avec r = 0

contrôle :  a = b × q + r  →  24 = 6 × 4 + 0 ✔   et r = 0 < 6 ✔

Pour B, le piège est d'additionner les trois colonnes d'un coup. On additionne deux par deux : 1+1+1 = 11₂, donc une colonne peut produire une retenue de 2.

8Soustraction avec emprunts Moyen

Calculez 1101 1001₂ − 10 0101₂, puis vérifiez.

✅ Correction

Premier réflexe : aligner sur le même nombre de bits. 10 0101 devient 0010 0101.

calcul
   1 1 0 1 1 0 0 1        11011001₂ = 217₁₀
 − 0 0 1 0 0 1 0 1        00100101₂ =  37₁₀
 ─────────────────
   1 0 1 1 0 1 0 0        10110100₂ = 180₁₀

vérification :
11011001₂ = 128 + 64 + 16 + 8 + 1 = 217
00100101₂ =  32 + 4 + 1           =  37
10110100₂ = 128 + 32 + 16 + 4     = 180

217 − 37 = 180 ✔
⚠️ Aligner avant de poser

Poser 1101 1001 − 10 0101 sans compléter à gauche fait glisser les colonnes : on soustrait alors des poids qui ne se correspondent pas. Les zéros de gauche ne changent rien à la valeur — mais ils sauvent l'alignement.

Contrôle de vraisemblance immédiat : le résultat doit être inférieur au premier opérande. 180 < 217 ✔. S'il est plus grand, voyez l'exercice suivant.

05Nombres signés

9Quand le résultat grandit Difficile

On pose A − B avec A = 1001 1101₂ et B = 1010 0001₂. Le calcul donne 1111 1100₂. Pourquoi ce résultat est-il suspect, que vaut réellement A − B, et que représente 1111 1100 ?

✅ Correction

1. Pourquoi c'est suspect. Une soustraction de nombres positifs donne toujours un résultat inférieur au premier opérande. Ici 1111 1100₂ = 252 alors que A = 157. Donc A < B et le vrai résultat est négatif.

calcul — on inverse
A = 1001 1101₂ = 128 + 16 + 8 + 4 + 1 = 157₁₀
B = 1010 0001₂ = 128 + 32 + 1         = 161₁₀

   1 0 1 0 0 0 0 1        ← B
 − 1 0 0 1 1 1 0 1        ← A
 ─────────────────
   0 0 0 0 0 1 0 0        ← B − A = 100₂ = 4₁₀

A − B = − (B − A) = − 100₂ = − 4₁₀

contrôle : 157 − 161 = − 4 ✔

3. Ce que représente 1111 1100. Pas un déchet : c'est −4 écrit en complément à deux sur 8 bits.

calcul
1111 1100₂ = 252₁₀       et       256 − 4 = 252

sur n bits :  −x  s'écrit  2ⁿ − x
sur 8 bits :  −4  s'écrit  256 − 4 = 252 = 1111 1100₂  ✔
💡 Comment lire un octet signé

En représentation signée, le bit de gauche est le bit de signe : 0 = positif, 1 = négatif. La plage devient −128 à +127 au lieu de 0 à 255.

1111 1100 commence par 1 → négatif. Pour retrouver sa valeur : on inverse tous les bits (0000 0011) et on ajoute 1 (0000 0100 = 4), puis on met le signe → −4.

C'est ainsi que fonctionnent tous les processeurs : ils n'ont pas de circuit de soustraction, ils additionnent le complément. Une seule opération matérielle sert pour les deux.

10L'exercice 3 du test Difficile

On a X = 0101 1001₂ et Y = 0101 1111₂. Calculez W = X − Y en binaire en détaillant, puis vérifiez en convertissant X et Y en décimal.

✅ Correction

Comparer d'abord, poser ensuite. Les deux nombres partagent le premier quartet 0101 ; ils diffèrent sur le second : 1001 (9) contre 1111 (15). Donc X < Y et W sera négatif.

calcul — on pose Y − X
   0 1 0 1 1 1 1 1        ← Y
 − 0 1 0 1 1 0 0 1        ← X
 ─────────────────
   0 0 0 0 0 1 1 0        ← Y − X = 110₂ = 6₁₀

W = X − Y = − 110₂ = − 6₁₀
calcul — vérification
X = 0101 1001₂ = 64 + 16 + 8 + 1         = 89₁₀
Y = 0101 1111₂ = 64 + 16 + 8 + 4 + 2 + 1 = 95₁₀

89 − 95 = − 6  ✔

Comparer deux nombres binaires de même longueur ne demande aucun calcul : on les lit de gauche à droite, et le premier bit qui diffère décide. Ici le 5ᵉ bit : X a 1 puis 001, Y a 1 puis 111 — Y l'emporte au 6ᵉ bit.

06Nombres à virgule

1121,625 par les deux méthodes Moyen

Convertissez 21,625₁₀ en binaire : partie entière, puis partie fractionnaire par la méthode soustractive et par les multiplications successives.

✅ Correction
calcul — partie entière
21 − 1 × 16 = 5    → 1
 5 − 0 ×  8 = 5    → 0
 5 − 1 ×  4 = 1    → 1
 1 − 0 ×  2 = 1    → 0
 1 − 1 ×  1 = 0    → 1

21₁₀ = 10101₂
calcul — fractionnaire, soustractions
poids : 0,5 · 0,25 · 0,125 · 0,0625

0,625 − 1 × 0,5   = 0,125   → 1
0,125 − 0 × 0,25  = 0,125   → 0
0,125 − 1 × 0,125 = 0       → 1

0,625₁₀ = 0,101₂
calcul — fractionnaire, multiplications
0,625 × 2 = 1,25   → on garde 1, il reste 0,25
0,25  × 2 = 0,5    → on garde 0, il reste 0,5
0,5   × 2 = 1,0    → on garde 1, il reste 0 → fin

lecture À L'ENDROIT :  0,101₂      ✔ même résultat
21,625₁₀ = 10101,101₂

Vérification : 16 + 4 + 1 = 21 ✔ et 0,5 + 0,125 = 0,625 ✔.

⚠️ Les deux sens de lecture, à ne jamais intervertir
Partie ENTIÈRE, divisions → restes à l'envers
Partie FRACTIONNAIRE, multiplications → retenues à l'endroit

C'est contre-intuitif, et c'est l'erreur la plus fréquente du chapitre. La raison est simple : en divisant, on obtient d'abord le bit de poids faible ; en multipliant, on obtient d'abord celui de poids fort — le premier après la virgule.

12Le nombre qui ne tombe jamais juste Difficile

Convertissez 0,1₁₀ en binaire par les multiplications successives. Que constatez-vous, et quelle conséquence cela a-t-il en programmation ?

✅ Correction
calcul
0,1 × 2 = 0,2   → 0
0,2 × 2 = 0,4   → 0
0,4 × 2 = 0,8   → 0
0,8 × 2 = 1,6   → 1   reste 0,6
0,6 × 2 = 1,2   → 1   reste 0,2
0,2 × 2 = 0,4   → 0   ← on retombe sur 0,2 : le cycle recommence

0,1₁₀ = 0,0001100110011…₂      le motif « 0011 » se répète à l'infini

Le constat : 0,1 n'a pas d'écriture binaire finie. Ce n'est pas un défaut de la méthode — c'est une propriété du nombre. En base 10, 1/3 = 0,333… pose exactement le même problème.

une fraction s'écrit de façon finie dans une base
seulement si son dénominateur ne contient que les facteurs premiers de cette base

La base 2 n'a qu'un facteur premier : 2. Seules les fractions en /2, /4, /8, /16… tombent juste. 0,1 = 1/10 et 10 = 2 × 5 : le facteur 5 est de trop.

La conséquence en programmation : la machine coupe après un nombre fixe de bits, donc elle stocke une valeur approchée.

python
>>> 0.1 + 0.2
0.30000000000000004

>>> 0.1 + 0.2 == 0.3
False

Ce n'est pas un bug de Python : c'est la norme IEEE 754, commune à tous les langages. Deux règles en découlent :

  • Ne jamais comparer deux flottants par == — on teste abs(a - b) < 1e-9.
  • Ne jamais stocker un montant en euros dans un flottant — on compte en centimes, avec des entiers. C'est pour cela qu'en base de données on choisit DECIMAL et non FLOAT pour un prix.

07Appliqué au réseau

13Lire un masque de sous-réseau Moyen

Convertissez ces masques en binaire, donnez la notation CIDR (/n) et le nombre d'adresses utilisables :

  1. 255.255.255.0
  2. 255.255.255.192
  3. 255.255.255.252
✅ Correction
calcul
255 = 1111 1111        192 = 1100 0000        252 = 1111 1100

1) 255.255.255.0
   1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
   → 24 bits à 1   → /24
   → 32 − 24 = 8 bits libres → 2⁸ − 2 = 254 adresses

2) 255.255.255.192
   1111 1111 . 1111 1111 . 1111 1111 . 1100 0000
   → 24 + 2 = 26 bits à 1   → /26
   → 32 − 26 = 6 bits libres → 2⁶ − 2 = 62 adresses

3) 255.255.255.252
   1111 1111 . 1111 1111 . 1111 1111 . 1111 1100
   → 24 + 6 = 30 bits à 1   → /30
   → 32 − 30 = 2 bits libres → 2² − 2 = 2 adresses
adresses utilisables = 2(32 − n) − 2

Le « − 2 » retire l'adresse réseau (tous les bits machine à 0) et l'adresse de broadcast (tous à 1) : aucune des deux ne peut être attribuée à une machine.

Le /30 et ses 2 adresses est le masque des liaisons entre deux routeurs : exactement deux extrémités, zéro adresse gaspillée. On le retrouve dans le projet TechShop.

14Une couleur, une adresse MAC Facile

  1. La couleur #2D5A27 : quelles sont les valeurs décimales de ses composantes rouge, verte et bleue ?
  2. L'adresse MAC 00:60:70:41:C1:D4 : combien de bits compte-t-elle ?
✅ Correction

1. La couleur. Format #RRGGBB : trois octets, soit deux chiffres hexa par composante.

calcul
R = 2D₁₆ = 2×16 + 13 = 32 + 13 =  45
V = 5A₁₆ = 5×16 + 10 = 80 + 10 =  90
B = 27₁₆ = 2×16 +  7 = 32 +  7 =  39

#2D5A27 = rgb(45, 90, 39)     ← un vert sombre : le vert domine

Chaque composante va de 00 (0) à FF (255), d'où les 256 × 256 × 256 ≈ 16,7 millions de couleurs du web.

2. L'adresse MAC.

calcul
00:60:70:41:C1:D4

6 groupes × 2 chiffres hexa = 12 chiffres hexa
1 chiffre hexa = 4 bits

12 × 4 = 48 bits        (soit 6 octets)

Une adresse MAC fait 48 bits, une IPv4 32 bits, une IPv6 128 bits. Ces trois nombres tombent régulièrement à l'oral — et ils se retrouvent tous par le même calcul : compter les chiffres hexa, multiplier par 4.

Sources exploitées

  • Cours manuscrit « Chapitre 1 — Système de numération », exercices des pages 17 à 20
  • Test de mathématiques du 13/11/2025, corrigé (conversions, opérations, nombres signés)
  • Fiche « Exercices de mathématiques — Systèmes de numération »
  • Le cours du chapitre : Systèmes de numération