Informatique


Codage des nombres signés

Aller à

Introduction

Les nombres sont représentés dans l'ordinateur par une configuration stricte de N bits, c'est pourquoi nous pouvons utiliser le complément à 2 pour les représenter.

Si le premier bit est à 0 on a un nombre positif, s'il est à 1 on a un nombre négatif.
Etant donné que le premier bit (bit de poids fort) est réservé pour le signe, il reste N-1 bits pour coder le nombre.
On a donc −2N − 1 valeur négatives possibles et 2N − 1 − 1 valeur positives possibles, on fait moins un car on représente aussi la valeur 0 (qui est habituellement considérée comme positive).

Un nombre binaire représenté sur N bits peut donc prendre une valeur de −2N − 1 à 2N − 1 − 1.


Taille de la configuration

Représentation sur 4 bits

Nombre de représentations possibles de 4-1 bits: 23= 8
Nombre de valeurs représentables avec une configuration de 4 bits: -23 à 23-1 =[-8;7]

Représentation sur 8 bits

Nombre de représentations possibles de 8-1 bits: 27= 128
Nombre de valeurs représentables avec une configuration de 8 bits: -27 à 27-1 =[-128;127]

Représentation sur 16 bits

Nombre de représentations possibles de 16-1 bits: 215= 65536
Nombre de valeurs représentables avec une configuration de 16 bits: -215 à 215-1 =[-65536;65535]

Représentation sur 24 bits

Nombre de représentations possibles de 24-1 bits: 223= 16777216
Nombre de valeurs représentables avec une configuration de 24 bits: -223 à 223-1 =[-16777216;16777215]

Représentation sur 32 bits

Nombre de représentations possibles de 32-1 bits: 231= 4294967296
Nombre de valeurs représentables avec une configuration de 24 bits: -231 à 231-1 =[-4294967296;4294967295]

Représentation sur 64 bits

Nombre de représentations possibles de 64-1 bits: 263= 18446744073709551616
Nombre de valeurs représentables avec une configuration de 24 bits: -263 à 263-1 =[-18446744073709551616;18446744073709551615]


Exemples

Exemple 1

On désire coder la valeur -5 sur une représentation à 4 bits.

On va d'abord coder la valeur positive 5 et ensuite on prendra le CA2.

On a: 0101

On fait le CA2 de 0101 et on obtient: 1011

1011 représente la valeur -5.

On peut vérifier si la réponse est correcte en refaisant le CA2 de la valeur binaire de -5

Exemple 2

Quelle valeur est représentée par le nombre binaire 11010010 ?

Pour le savoir il faut déterminer sa valeur positive, on fait le CA2 et on obtient: 00101110.
C'est la valeur -46.

On peut vérifier si la réponse est correcte en refaisant le CA2 de la valeur positive.

Exemple 3

Comment représenter un nombre codé sur 4 bits en 8 bits ?

Prenons la valeur 1101, elle représente la valeur -3.

En effet: le CA2 de 1101 vaut 0011 donc 3 en positif.

Pour représenter cette valeur sur 8 bits il suffit de compléter vers la gauche avec le bit de poids fort, on a donc 1101 représenté par 11111101 sur 8 bits.

En effet: le CA2 de 11111101 vaut 00000011 donc 3 en positif.