Voorwaarde – Weergave van negatieve binaire getallen
1’s complement van een binair getal is een ander binair getal dat wordt verkregen door alle bits daarin om te wisselen, d.w.z. door de 0-bit naar 1 en de 1-bit naar 0 te transformeren. Voorbeelden:
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)>
2’s complement van een binair getal wordt 1 opgeteld bij het 1-complement van het binaire getal. Voorbeelden:
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)>
Deze representaties worden gebruikt voor ondertekende nummers.
De grootste verschil tussen 1's complement en 2′s-complement is dat het complement van 1 twee representaties heeft van 0 (nul) - 00000000, wat positief nul is (+0), en 11111111, wat negatief nul is (-0); terwijl er in 2's-complement slechts één representatie is voor nul - 00000000 (0), want als we 1 optellen bij 11111111 (-1), krijgen we 100000000, wat negen bits lang is. Omdat er slechts acht bits zijn toegestaan, wordt de meest linkse bit weggegooid (of overstroomd), waardoor 00000000 (-0) overblijft, wat hetzelfde is als een positieve nul. Dit is de reden waarom in het algemeen het 2's-complement wordt gebruikt.
Een ander verschil is dat we bij het optellen van getallen met behulp van het 1-complement eerst binaire optelling doen en vervolgens een end-around carry-waarde toevoegen. Maar het 2′-complement heeft slechts één waarde voor nul en vereist geen carry-waarden.
Het bereik van 1-complement voor n bitnummer is vanaf -2n-1-1 tot 2n-1-1 terwijl het bereik van het 2-complement voor n bit vanaf -2 ligtn-1naar 2n-1-1.
datumtekenreeks java
Er zijn er 2n-1geldige getallen in het 1-complement en 2Ngeldige getallen in het 2-complement.
Verschil tussen de complementaire representatie van 1 en de complementaire representatie van 2 in tabelvorm:
| Criteria | 1's complement | 2's complement |
| Definitie | Het 1-complement van een binair getal wordt verkregen door alle bits ervan om te keren. | Het 2-complement van een binair getal wordt verkregen door 1 toe te voegen aan het 1-complement van het getal. |
| Bereik van waarden die kunnen worden weergegeven met n bits | Van -2^(n-1) + 1 tot 2^(n-1) – 1 | Van -2^(n-1) tot 2^(n-1) – 1 |
| Aantal representaties voor nul | Kan op twee manieren worden weergegeven (alle nullen en allemaal enen). | Kan slechts op één manier worden weergegeven (alle nullen). |
| Optelling van positieve en negatieve getallen | Hetzelfde als niet-ondertekende binaire optelling. | Hetzelfde als niet-ondertekende binaire optelling. |
| Aftrekken van getallen | Trek het kleinere getal af van het grotere en voeg vervolgens een tekenbit toe aan het resultaat. | Voeg het negatieve getal toe aan het positieve met behulp van binaire optelling. |