Le complément à deux

L’idée de base !

On cherche une représentation binaire des entiers négatifs pour que l’addition de deux nombres entiers relatifs fonctionne.

Si on ajoute un nombre avec celui obtenu en échangeant les 1 et les 0, on obtient 1111 1111. Ce n’est pas zéro mais presque …

Un exemple

6 s’écrit en binaire sur un octet : 0000 0110.
Si on échange les 0 et les 1, on obtient : 1111 1001.
Si on ajoute les deux nombres, on obtient : 1111 1111.

Si on ajoute 1 à ce nombre, on obtient (1) 0000 0000.
En négligeant le dépassement, on obtient 0.

L’opposé de 6 est donc 1111 1001 +1 = 1111 1010.

Ce nombre s’appelle le complément à deux.

Une méthode plus rapide

On garde tous les 0 de droite jusqu’au premier 1, ainsi que ce 1.
Pour le reste, on échange tous les 1 et tous les 0.

Exemples :

Le nombre 24 s’écrit : 0001 1000.
Son opposé -24 s’écrit : 1110 1000.

~
~
~
Le nombre 36 s’écrit : 0010 0100.
Son opposé -36 s’écrit : 1101 1100.