Le complément à un d'un nombre binaire est la valeur obtenue en inversant tous les bits de ce nombre (en permutant les 0 par des 1 et inversement). Le complément à un d'un nombre se comporte alors comme le négatif du nombre original dans certaines opérations arithmétiques.

D'un point de vue algébrique, qui est plus général, c'est l'opération qui consiste à complémenter un nombre écrit en base b sur n chiffres à bn−1. C'est-à-dire que le complément d'un nombre a s'obtient par (bn−1)−a. On remarque qu'en ajoutant 1 on obtient bna ce qui correspond à la méthode de calcul du complément à 2 exposant n.

Les deux méthodes présentées sont équivalentes pour les nombres binaires mais la vision algébrique généralise cette notion aux nombres non binaires.

Exemples

modifier

 

sur 4 bits

modifier

Sont représentées toutes les valeurs possibles entre -7 et +7.

 Décimal    +      −
    0      0000   1111   +0 et −0 sont VRAI si testés pour zéro, FAUX si testés pour non-zéro.
    1      0001   1110
    2      0010   1101
    3      0011   1100
    4      0100   1011
    5      0101   1010
    6      0110   1001
    7      0111   1000

Complément à deux

modifier


Dans le système de complément à un, la valeur 0 a deux représentations : « +0 » et « -0 » (exemple sur 4 bits: 0000 et 1111), ce qui oblige à réaliser deux tests pour tester la valeur nulle d'un résultat. Afin de pallier ce défaut, on a introduit la représentation par complément à deux.

On obtient le complément à deux en ajoutant 1 au complément à un. On ignore alors la retenue sur le bit de poids fort.