Entiers négatifs en binaire
Objectifs
- Comprendre pourquoi un simple « bit de signe » ne suffit pas
- Représenter un entier négatif en complément à deux
- Vérifier qu'une addition binaire donne le bon résultat
Idée clé
Sur bits, les ordinateurs codent les entiers relatifs en complément à deux : le bit de poids fort vaut , les autres bits restent positifs. L'addition marche alors comme pour les positifs (sans circuit spécial pour la soustraction).
Pourquoi coder les négatifs ?
Températures, scores, coordonnées… Il faut des nombres signés. On fixe d'abord la taille : 4 bits, 8 bits, 32 bits, etc. Le domaine représentable dépend de .
Sur 8 bits en complément à deux : de à .
Première idée : bit de signe
Le bit le plus à gauche code le signe : 0 = positif, 1 = négatif ; le reste code la valeur absolue.
Exemples sur 4 bits : , .
Deux problèmes :
- Deux zéros : et
- Additions fausses : ne donne pas 0 avec cette convention
Cette représentation n'est donc pas utilisée pour l'arithmétique machine.
Complément à deux
Analogie
Comme un compteur kilométrique : après , en reculant on obtient , , … qui jouent le rôle de , , …
Méthode (nombre négatif)
- Écrire la valeur absolue en binaire (sur bits)
- Inverser tous les bits (complément à 1)
- Ajouter 1
Exemple : sur 8 bits
- Inversion :
- :
Donc (complément à 2, 8 bits).
Vérification par addition
Sur 4 bits : ne tient pas, prenons plutôt .
- : → invert → →
- Somme : → on garde 4 bits : ✓
Les retenues hors des bits sont ignorées.
| Critère | Bit de signe | Complément à 2 |
|---|---|---|
| Un seul zéro | Non | Oui |
| Addition correcte | Non | Oui |
| Usage actuel | Non | Standard |
Piège fréquent
Oublier d'ajouter 1 après l'inversion : on obtient alors le complément à 1, pas le complément à 2. Autre erreur : changer de taille de bits en cours de calcul (4 bits vs 8 bits).
À retenir
- Le bit de signe seul crée un double zéro et casse l'arithmétique
- Complément à 2 : inverser les bits, puis
- Sur bits : plage
- L'addition se fait comme pour les positifs ; on tronque à bits
- Le bit de poids fort vaut en complément à 2
- C'est la représentation utilisée par les processeurs modernes