Prérequis – Représentation des nombres binaires négatifs
complément à 1 d'un nombre binaire est un autre nombre binaire obtenu en basculant tous les bits qu'il contient, c'est-à-dire en transformant le bit 0 en 1 et le bit 1 en 0. Exemples :
Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)>
complément à 2 d’un nombre binaire est 1 ajouté au complément à 1 du nombre binaire. Exemples:
Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)>
Ces représentations sont utilisées pour les nombres signés.
Le différence principale entre le complément à 1 et Complément à 2 est-ce que le complément de 1' a deux représentations de 0 (zéro) — 00000000, qui est un zéro positif (+0), et 11111111, qui est un zéro négatif (-0) ; alors que dans le complément à 2', il n'y a qu'une seule représentation pour zéro - 00000000 (0) car si l'on ajoute 1 à 11111111 (-1), nous obtenons 100000000, ce qui fait neuf bits. Étant donné que seuls huit bits sont autorisés, le bit le plus à gauche est ignoré (ou débordé), laissant 00000000 (-0), ce qui équivaut à un zéro positif. C’est la raison pour laquelle le complément à 2′ est généralement utilisé.
Une autre différence est que lors de l'addition de nombres en utilisant le complément à 1, nous effectuons d'abord une addition binaire, puis ajoutons une valeur de retenue de fin de parcours. Mais le complément à 2 n’a qu’une seule valeur pour zéro et ne nécessite pas de valeurs de report.
La plage du complément à 1 pour le nombre de bits n va de -2n-1-1 à 2n-1-1 alors que la plage du complément à 2 pour n bits va de -2n-1à 2n-1-1.
cpp est égal
Il ya deuxn-1nombres valides en complément de 1 et 2nnombres valides en complément à 2.
Différence entre la représentation complémentaire à 1 et la représentation complémentaire à 2 sous forme tabulaire :
| Critères | Le complément de 1 | Le complément à 2 |
| Définition | Le complément à 1 d’un nombre binaire s’obtient en inversant tous ses bits. | Le complément à 2 d’un nombre binaire s’obtient en ajoutant 1 au complément à 1 du nombre. |
| Plage de valeurs pouvant être représentée avec n bits | De -2^(n-1) + 1 à 2^(n-1) – 1 | De -2^(n-1) à 2^(n-1) – 1 |
| Nombre de représentations pour zéro | Peut être représenté de deux manières (tous les 0 et tous les 1). | Ne peut être représenté que d'une seule manière (tous par des 0). |
| Ajout de nombres positifs et négatifs | Identique à l'addition binaire non signée. | Identique à l'addition binaire non signée. |
| Soustraction de nombres | Soustrayez le plus petit nombre du plus grand, puis ajoutez un bit de signe au résultat. | Ajoutez le nombre négatif au nombre positif en utilisant l'addition binaire. |