Représentation des entiers relatifs : cours de NSI Première
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
Un entier relatif est un entier naturel muni d'un signe, + ou −. L'ensemble se note Z3.
Sur n bits sans signe, on représente les entiers de 0 à 2n−12. Pour les négatifs, on utilise le complément à deux 2.
Sur n bits, un entier négatif −x est codé par l'entier naturel 2n−x. Pour obtenir ce code : on inverse les bits de x, puis on ajoute 1.
Les valeurs de −2n−1 à 2n−1−1 sont représentables ; un bit de poids fort égal à 1 signale un négatif.
L'addition se fait comme en binaire naturel, en gardant n bits. Si la vraie somme sort de l'intervalle, il y a dépassement de capacité.
Pourquoi coder des nombres négatifs ?
Dans ton cours sur les bases, tu as appris à écrire un entier positif en binaire, en décimal et en hexadécimal. Mais un ordinateur ne manipule pas seulement des quantités qui augmentent : il doit gérer une température sous zéro, un solde bancaire à découvert, un déplacement vers la gauche d'un personnage dans un jeu. Il lui faut donc des nombres négatifs.
Une mémoire ne contient que des 0 et des 1. Il n'y a pas de place pour un symbole « − » à côté du nombre. Il faut donc inventer une convention : une règle qui dit comment un mot de n bits représente un entier positif ou négatif. Plusieurs conventions existent ; l'une d'elles est devenue la norme pour les ordinateurs 1.
Dans ce cours, tu vas :
rappeler ce qu'est un entier relatif en mathématiques ;
voir ce que permet (et ne permet pas) le binaire sans signe sur n bits ;
comprendre pourquoi une idée simple, « un bit pour le signe », pose problème ;
apprendre le complément à deux, savoir coder et décoder ;
additionner des entiers relatifs en binaire et repérer un dépassement.
Les entiers relatifs en mathématiques
Les entiers relatifs permettent d'exprimer la différence entre deux entiers naturels quelconques 3. Ils décrivent par exemple une position sur un axe par rapport à une référence, un déplacement dans un sens ou dans l'autre, ou la variation d'une quantité : positive pour un gain, négative pour une perte 3.
Dans un entier relatif, on distingue deux informations : le signe et la valeur absolue. Par exemple, −5 a pour signe « moins » et pour valeur absolue 5. L'ensemble Z est ordonné par la comparaison usuelle, héritée de celle des entiers naturels 3.
Rappel : les entiers naturels sur n bits
Cette représentation est unique : un entier représentable n'a qu'une seule écriture sur n bits. Cette propriété est précieuse, car elle permet de tester simplement si deux nombres sont égaux 1. Garde cette idée en tête pour juger les conventions suivantes.
Première idée : un bit de signe, et pourquoi elle gêne
Une idée naturelle consiste à imiter l'écriture mathématique : on réserve le bit de gauche (le bit de poids fort) pour le signe, 0 pour « plus » et 1 pour « moins », et les autres bits donnent la valeur absolue.
Sur 4 bits, 0101 serait alors +5 et 1101 serait −5. C'est lisible, mais cette convention a des défauts pour la machine.
Le complément à deux
Démonstration · Pourquoi cette méthode donne bien $2^n-x$
Soit x écrit sur n bits. Le mot qui ne contient que des 1 vaut 2n−1, car ∑i=0n−12i=2n−1. Inverser les bits de x revient à retrancher x à ce mot : on obtient (2n−1)−x, car chaque bit de x vaut 0 ou 1 et son inverse vaut 1− ce bit. Ajouter 1 donne 2n−x, qui est bien le code de −x.
Les 16 codes sur 4 bits en complément à deux
Mot de 4 bits
Lu en naturel
Lu en complément à deux
0000
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
-8
1001
9
-7
1010
10
-6
1011
11
-5
1100
12
-4
1101
13
-3
1110
14
-2
1111
15
-1
Les 16 codes sur 4 bits en complément à deux · Le bit de poids fort vaut 1 pour tous les négatifs ; la valeur relative est le naturel moins 16.
Lire un code et connaître l'étendue des valeurs
Comparons avec le binaire sans signe sur le même nombre de bits : on couvre [0;2n−1]2, soit autant de valeurs (2n en tout), mais décalées. Le complément à deux ne crée aucune valeur : il réinterprète la moitié supérieure des codes comme des négatifs.
Additionner des entiers relatifs en binaire
Erreurs fréquentes et bilan
Exercices corrigés
Exercice 1 Coder un entier négatif sur 8 bits
★☆☆Environ 8 min
Donne le code en complément à deux sur 8 bits de −37, d'abord en binaire, puis donne sa valeur en tant que naturel.
Indice 1
Commence par écrire 37 en binaire sur 8 bits.
Indice 2
Le code cherché est l'entier naturel 28−37.
Voir la correction pas à pas
On écrit 37=32+4+1, soit 00100101 sur 8 bits.
On inverse tous les bits : 11011010.
On ajoute 1 : 11011011.
On contrôle par le calcul : 28−37=256−37=219, et 11011011=128+64+16+8+2+1=219.
Le code de −37 sur 8 bits est 11011011, qui vaut 219 si on le lit comme un entier naturel.
Exercice 2 Décoder un mot de 8 bits
★☆☆Environ 8 min
Le mot 11110110 est un entier relatif codé en complément à deux sur 8 bits. Quelle est sa valeur ?
Indice 1
Regarde le bit de poids fort pour connaître le signe.
Indice 2
Calcule le naturel que représente le mot, puis retranche 28.
Voir la correction pas à pas
Le bit de poids fort vaut 1 : le nombre est négatif.
En naturel, 11110110 vaut 128+64+32+16+4+2=246.
On retranche 28=256 : 246−256=−10.
Vérification par la variante : on inverse (00001001), on ajoute 1 (00001010), soit 10, donc le mot code −10.
Le mot 11110110 représente l'entier relatif −10.
Exercice 3 Un dépassement de capacité
★★☆Environ 10 min
Un programme additionne 100 et 45 avec des entiers codés en complément à deux sur 8 bits. Quelle valeur le programme lit-il à la fin ? Explique ce qui s'est passé.
Indice 1
Écris les deux opérandes sur 8 bits et additionne en binaire.
Indice 2
Le bit de poids fort du résultat décide du signe de la lecture.
Voir la correction pas à pas
100 s'écrit 01100100 et 45 s'écrit 00101101.
La somme binaire est 10010001, sans retenue sortante.
Le bit de poids fort vaut 1, donc le mot est lu comme négatif : en naturel il vaut 128+16+1=145.
La valeur lue est 145−256=−111.
La vraie somme, 145, dépasse 127, le maximum sur 8 bits : c'est un dépassement de capacité.
Le programme lit −111 au lieu de 145 : deux positifs ont donné un négatif, signe d'un dépassement.
Exercice 4 Choisir le nombre de bits
★★★Environ 10 min
On code des entiers relatifs en complément à deux sur 12 bits. Quel est le plus grand entier représentable ? Le nombre −2500 est-il représentable ?
Indice 1
Utilise la forme [−2n−1;2n−1−1] avec n=12.
Indice 2
Compare −2500 à la borne inférieure.
Voir la correction pas à pas
Pour n=12, l'intervalle est [−211;211−1].
On calcule 211=2048.
Le plus grand entier représentable est 2048−1=2047 et le plus petit est −2048.
Comme −2500<−2048, le nombre −2500 n'est pas représentable sur 12 bits.
Le plus grand entier représentable est 2047 ; −2500 n'est pas représentable sur 12 bits, il faudrait au moins 13 bits.
Quiz
8 questions · correction immédiate · ton score reste sur ton appareil.
Sur n bits sans signe, on couvre [0;2n−1]2, soit 28−1=255 ici. 127 est le maximum en complément à deux, pas sans signe. 256 est 28, qui demanderait un 9e bit.
On a 24−5=11, soit 1011. 1010 est l'inversion de 0101 sans l'ajout de 1 : elle code −6. 1101 est le code du bit de signe naïf (signe 1 + valeur 5), qui n'est pas la convention utilisée ici. 0101 est +5.
Les codes avec bit de poids fort 1 vont de 2n−1 à 2n−1 et représentent −2n−1 à −1. Le minimum est donc −2n−1. −(2n−1−1) serait le minimum d'une convention symétrique avec deux zéros, ce qui n'est pas le cas ici.
Le bit de poids fort est 1 : le mot est négatif. En naturel il vaut 255, et 255−256=−1. La tentation est de répondre 255, qui est la lecture comme entier naturel.
Faux : l'inversion donne −x−1. Il faut ensuite ajouter 1. Par exemple, inverser 0101 (5) donne 1010, qui code −6 sur 4 bits et non −5.
Un dépassement existe quand deux opérandes de même signe donnent un résultat de signe opposé. Un positif et un négatif ne peuvent pas dépasser, car la somme reste entre les deux opérandes. Une retenue sortante est normale (elle est simplement ignorée) : elle ne prouve pas un dépassement.
127 s'écrit 01111111, auquel on ajoute 00000001 : on obtient 10000000. Le bit de poids fort vaut 1 et le naturel vaut 128, donc la valeur lue est 128−256=−128. On attendrait 128, mais ce nombre dépasse la capacité.
Sur 9 bits, l'intervalle est [−256;255] : −300 n'y est pas. Sur 10 bits, il est [−512;511], ce qui convient. Sur 8 bits, c'est [−128;127], encore plus insuffisant. 11 bits conviendraient aussi, mais ce n'est pas le minimum.
Les questions qu'on se pose
À quoi sert le complément à deux dans un ordinateur ?
Il permet de représenter des entiers positifs et négatifs avec les seuls bits 0 et 1 2, tout en gardant la même addition binaire que pour les entiers naturels. Chaque entier représentable a une seule écriture, ce qui simplifie les tests d'égalité 1.
Comment savoir si un mot de bits est positif ou négatif ?
On regarde le bit de poids fort, celui de gauche. S'il vaut 0, l'entier est positif ou nul ; s'il vaut 1, il est négatif. Il faut toutefois connaître le nombre de bits n du mot et savoir qu'on est en complément à deux.
Pourquoi y a-t-il un négatif de plus que de positifs ?
Parce que le zéro compte parmi les codes dont le bit de poids fort vaut 0. Sur 8 bits, il y a 128 codes commençant par 0 (de 0 à 127) et 128 codes commençant par 1 (de −128 à −1). Les positifs strictement non nuls sont donc 127 et les négatifs 128.
Que se passe-t-il quand on dépasse la capacité ?
Le résultat est tronqué à n bits et ne correspond plus à la vraie somme. Par exemple, 100+45 sur 8 bits donne −111. Pour l'éviter, on utilise plus de bits ou on vérifie les bornes avant de calculer.
Peut-on trouver cette notion à l'épreuve de NSI ?
Oui, les exercices demandent en général de coder un entier négatif sur un nombre de bits donné, de décoder un mot, de donner l'étendue des valeurs sur n bits ou d'expliquer un résultat surprenant dû à un dépassement. La méthode « inverser puis ajouter 1 » et la formule 2n−x servent à se contrôler mutuellement.