Nombres entiers signés#
Introduction#
Pour encoder des nombres entiers relatifs (appelés entiers signés), l'idée principale est d'utiliser le bit de poids fort (le chiffre qui se trouve le plus à gauche) pour représenter le signe: 0 si le nombre est positif et 1 si le nombre est négatif.
Cette représentation possède deux inconvénients:
le nombre 0 a deux présentations différents: 00000000 et 10000000
les opérations arithmétiques sont plus compliquées. Il faut notamment différencier le cas où les deux nombres sont de même signe du cas où ils sont de signes différents.
Complément à 2#
La notation en complément à 2 permet de remédier à ces problèmes. Les nombres entiers relatifs positifs sont représentés comme des entiers positifs avec le bit de poids fort qui est à zéro (bit de signe) et les entiers relatifs négatifs sont obtenus selon le tableau ci-dessous:
Écriture |
Entiers non signés (valeur décimale) |
Entiers signés (valeur décimale) |
---|---|---|
4 bits |
tous les bits sont utilisés pour définir le nombre |
le bit de poids fort est utilisé pour le signe |
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 |
Remarques#
Entiers non signés sur 4 bits |
Entiers signés sur 4 bits |
---|---|
La valeur minimale est 0 |
La valeur minimale est \(-2^{4-1} = -8\) |
La valeur maximale est \(2^4-1 = 15\) |
La valeur maximale est \(2^{4-1}-1 = 7\) |
Opposé d'un nombre#
Pour déterminer l'opposé d'un nombre, il faut:
Inverser tous les bits (0 \(\rightarrow\) 1 et 1 \(\rightarrow\) 0);
Additionner 1.
L'opposé de \(0101_2\) est \(1011_2\). En effet,
1 0 1 0 (inverser chaque bit)
+ 1 (ajouter 1)
----------
1 0 1 1
Vérification: l'addition d'un nombre et de son opposé doit donner 0.
1 1 1 1 (retenues)
0 1 0 1
+ 1 0 1 1
------------
1 0 0 0 0 (sans tenir compte de la retenue finale)
Exercice 7#
Déterminer l'opposé des nombres suivants en binaire, ainsi que la valeur décimale de celui-ci.
\(0111_2\)
\(0101\,1010_2\)
\(1111_2\)
\(1101\,0001_2\)
Exercice 8#
Répondre aux questions suivantes:
Quel est le plus grand nombre entier non signé que nous pouvons écrire...
Quel est le plus petit nombre entier non signé que nous pouvons écrire...
Quel est le plus grand nombre entier signé que nous pouvons écrire...
Quel est le plus petit nombre entier signé que nous pouvons écrire...