binNeg Binaire & Nombres relatifs


Nous avons vu que sur, par exemple, un octet on peut représenter les nombres entiers naturels allant de 0 à : 1111 11112 =28 – 1 = 255

Ainsi le nombre entier naturel 13 est représenté en base 2 par : 11012 il est donc représenté dans la mémoire d’un ordinateur par le mot 1101.

Il faut étendre aux entiers relatifs la représentation binaire des entiers naturels.

1ère solution naturelle

Réserver un bit pour le signe et utiliser les autres pour représenter sa valeur absolue.

Ainsi, avec des mots de 16 bits, si on utilise 1 bit pour le signe et 15 bits pour la valeur absolue, on pourrait représenter les entiers relatifs allant de :

Inconvénient de cette méthode (entre autres) : existence de deux zéros l’un positif et l’autre négatif !

Solution choisie

La notation en complément à 2.

On va représenter un entier relatif par un entier naturel. Si on utilise des mots de 16 bits, on va pouvoir représenter les entiers relatifs de -32 768 à 32 767 en procédant ainsi :