Complément à 2

Les entiers négatifs sont (le plus souvent) représentés en machine de la façon suivante. Considérons par exemple le cas des entiers courts sur 2 octets ou 16 bits. Le nombre +10000 va s'écrire de gauche à droite:
0010011100010000
le nombre opposé va s'écrire:
1101100011110000
C'est la représentation dite en complément à deux .
Les nombres positifs sont représentés comme attendu; par contre les nombres négatifs sont obtenus de la manière suivante :

Avec cette représentation les nombres de 0 à 32767 les positifs sont notés en système binaire normalement. le nombre -1 correspond à 65535, -2 à 65534, etc...

Le coin du C

Ce programme illustre la représentation en machine des entiers signés.

Voici le résultat de son exécution:
1111111111111111
1111111111111111
0111111111111111
1000000000000000
1000000000000000
0010011100010000
1101100011110000