Codage des entiers relatifs (complément à deux)

icône de pdf
Signaler
Dans cette leçon, tu vas apprendre comment les ordinateurs représentent les entiers relatifs grâce au codage en complément à deux. Tu verras comment coder et décoder un nombre négatif en binaire, quelles sont les valeurs représentables selon le nombre de bits, et pourquoi ce système simplifie les calculs arithmétiques en machine. Mots-clés : complément à deux, entiers relatifs, codage binaire, nombres négatifs, bits, arithmétique machine.

Introduction

Les ordinateurs manipulent aussi bien des nombres positifs que négatifs. Si les entiers positifs sont naturellement représentés en binaire, coder des entiers négatifs pose un défi technique : il faut une méthode qui soit compatible avec les opérations arithmétiques effectuées par les machines. Le codage le plus efficace et universellement utilisé est le complément à deux, qui permet de représenter les entiers relatifs tout en conservant des circuits d’addition identiques à ceux des entiers positifs. Contrairement à d'autres systèmes plus intuitifs mais plus limités, le complément à deux n’utilise pas un bit de signe explicite, mais une construction binaire cohérente avec l’arithmétique machine.

Représenter les entiers relatifs en binaire

Un entier relatif peut être positif, nul ou négatif. En informatique, ils sont codés sur un nombre fixe de bits : 8, 16, 32 ou 64. Le système du complément à deux permet de représenter ces valeurs de manière compatible avec les opérations classiques comme l’addition ou la soustraction.

Dans ce système :

  • Si le bit de poids fort (le plus à gauche) est 0, le nombre est positif ou nul.

  • S’il est 1, le nombre est négatif, mais ce bit n’est pas un indicateur de signe direct : il fait partie d’un tout.

Exemple sur 8 bits :

  • 00001111₂ = 15₁₀

  • 11111111₂ = −1₁₀

  • 10000000₂ = −128₁₀

À retenir

En complément à deux, les entiers sont représentés sur un nombre fixe de bits. Le bit de gauche détermine la négativité, sans être un simple indicateur de signe.

Complément à deux : principe et construction

Le complément à deux d’un entier négatif est une transformation binaire qui permet d’encoder un opposé sans changer les règles de calcul.

Pour coder un entier négatif sur n bits :

  • Écrire sa valeur absolue en binaire sur n bits.

  • Inverser tous les bits (0 devient 1, 1 devient 0).

  • Ajouter 1 au résultat.

Exemple : coder −5 sur 8 bits

  • 5₁₀ = 00000101₂

  • Inversion : 11111010₂

  • Ajout de 1 : 11111011₂

⇒ −5₁₀ = 11111011₂

On peut vérifier que cette représentation est correcte par l’addition :

(−5) + (+5) =
11111011
00000101
\= 00000000 (la retenue finale déborde sur un 9ᵉ bit, ignorée)
→ résultat attendu : 0

Cela fonctionne car le complément à deux assure une continuité arithmétique dans les représentations binaires.

Intervalle des valeurs représentables

Sur n bits, le complément à deux permet de coder les entiers dans l’intervalle :
−2ⁿ⁻¹ à 2ⁿ⁻¹ − 1

Exemples :

  • 8 bits → de −128 à +127

  • 16 bits → de −32 768 à +32 767

À retenir

Le complément à deux permet de représenter les entiers relatifs dans un intervalle asymétrique allant de −2ⁿ⁻¹ à 2ⁿ⁻¹ − 1. Le bit de gauche ne représente pas un signe mais participe à l'encodage complet du nombre.

Décoder un entier en complément à deux

Pour lire un entier codé en complément à deux :

  • Si le bit de gauche est 0 → on lit le nombre normalement.

  • Si le bit de gauche est 1 → on :

    • Inverse les bits

    • Ajoute 1

    • Interprète le résultat comme positif

    • Applique un signe négatif

Exemple : décoder 11111100₂

  • Bit de gauche = 1 → négatif

  • Inversion : 00000011

  • Ajout de 1 : 00000100 → 4

⇒ 11111100₂ = −4₁₀

Ce décodage est utile lorsqu’on analyse directement des données binaires brutes ou des registres mémoire.

À retenir

Un entier en complément à deux se décode en inversant les bits, en ajoutant 1, puis en ajoutant un signe négatif si le bit de gauche est à 1.

Utiliser le complément à deux dans les calculs

Le principal avantage du complément à deux est qu’il permet aux machines d’effectuer des additions binaires standard, même en présence de nombres négatifs.

Exemple : −3 + 5

Sur 8 bits :

  • −3 = 11111101₂

  • +5 = 00000101₂

Addition :
11111101
00000101
\= 00000010 → 2₁₀

La somme est exacte, sans traitement spécial.

Débordement et retenue

Quand la somme dépasse la plage des entiers codables, un dépassement de capacité (overflow) peut se produire, mais le bit de retenue hors gabarit est ignoré, car il dépasse les n bits fixés. Cela fait partie du fonctionnement standard des additions binaires sur machines.

À retenir

Le complément à deux simplifie les additions entre entiers relatifs. Même les résultats négatifs sont obtenus sans traitement spécial, grâce à une cohérence mathématique interne.

Conclusion

Le codage en complément à deux est un pilier de l’informatique moderne. Il permet une représentation compacte, cohérente et efficace des entiers relatifs, en facilitant les opérations comme l’addition. Grâce à lui, les ordinateurs peuvent manipuler les nombres négatifs sans modifier les circuits arithmétiques. La maîtrise de ce codage est essentielle pour comprendre la mémoire, les instructions machine et le comportement des programmes au plus bas niveau.