Logo de kxs.frCours d'informatique pour le lycée et la prépa

Écriture d’un entier relatif

Nous avons vu comment écrire un entier dans différentes bases. Nous allons nous concentrer sur la base 2 qui est utilisée dans les systèmes informatiques.

Addition en binaire

Une addition en binaire se fait de la même façon qu’en décimal.

1) Additionnons les deux nombres binaires suivants : 11001011 et 01011100

2) Convertissez puis additionnez 12 et 43 en binaire.

Le binaire signé

Définition

Pour représenter un entier relatif, la solution qui peut paraître la plus simple serait de garder le premier bit pour le signe (1 pour négatif et 0 pour positif) et les suivants pour la valeur absolue.

3) Essayons d’écrire -11 sur 8 bits de cette façon.

4) Quel est alors l’intervalle qu’il est possible d’écrire sur 8 bits ? Comparer à l’intervalle du binaire non-signé sur 8 bits également.

Problèmes

5) Pour se rendre compte des problèmes de cette représentation, ajoutons 11 et -11 en binaire signé sur 8 bits. Que remarquez-vous ?

6) Donner les deux façons d’écrire le zéro :

Pour ces raisons, le binaire signé n’a presque jamais été utilisé. On utilise le complément à 2.

Complément à 2

Pour écrire un entier négatif en complément à 2, il faut suivre trois étapes :

Ainsi, un entier négatif commence aussi par un 1.

Pour trouver la valeur d'un entier négatif en complément à 2, il faut suivre trois étapes :

7) Prenons l’exemple de -11 sur 8 bits :

8) Ajoutons 11 à -11 :

9) Quel est le plus grand entier positif que l’on peut écrire sur 8 bits ?

10) Que vaut 10000000 ?

11) On complète alors le tableau récapitulatif ci-dessous :

Base 10 Complément à 2 sur 8 bits
127
126
2
1
0
-1
-2
-127
-128

12) Donner l’écriture en complément à 2 sur 8 bits de -38.

13) Ajouter 89 à -38 en complément à 2 et vérifier le résultat.

14) Quels sont le plus grand entier positif et le plus petit entier négatif que l’on peut écrire en complément à 2 sur 16 bits ?

15) Convertir le complément à deux 100100002 en décimal.

16) Convertir le complément à deux 000100002 en décimal.