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:

  1. Inverser tous les bits (0 \(\rightarrow\) 1 et 1 \(\rightarrow\) 0);

  2. 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.

Nombre binaire

Opposé

Valeur décimale

\(0111_2\)

\(0101\,1010_2\)

\(1111_2\)

\(1101\,0001_2\)

Exercice 8#

Répondre aux questions suivantes:

Quel est le plus...

4 bits, décimal

4 bits, binaire

8 bits, décimal

8 bits, binaire

n bits

... grand nombre entier non signé sur...

... petit nombre entier non signé sur...

... grand nombre entier signé sur...

... petit nombre entier signé sur...