Förutsättning – Representation av negativa binära tal
1:s komplement av ett binärt tal är ett annat binärt tal som erhålls genom att växla alla bitar i det, dvs. transformera 0-biten till 1 och 1-biten till 0. Exempel:
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 komplement av ett binärt tal läggs 1 till 1:ans komplement till det binära talet. Exempel:
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)>
Dessa representationer används för signerade nummer.
De huvudskillnaden mellan 1′s komplement och 2′s komplement är att 1′s-komplementet har två representationer av 0 (noll) — 00000000, vilket är positivt noll (+0), och 11111111, som är negativt noll (-0); medan i 2′s komplement finns det bara en representation för noll — 00000000 (0) eftersom om vi adderar 1 till 11111111 (-1) får vi 100000000, vilket är nio bitar långt. Eftersom endast åtta bitar är tillåtna kasseras (eller flödar över) biten längst till vänster, vilket lämnar 00000000 (-0) vilket är samma som positiv noll. Detta är anledningen till att 2′s komplement vanligtvis används.
En annan skillnad är att när vi lägger till tal med hjälp av 1′s komplement, gör vi först binär addition och lägger sedan till ett överföringsvärde. Men 2′s komplement har bara ett värde för noll och kräver inga bärvärden.
Intervallet för 1:s komplement för n bitar är från -2n-1-1 till 2n-1-1 medan intervallet för 2:s komplement för n bit är från -2n-1till 2n-1-1.
r på c-språk
Det finns 2n-1giltiga nummer i 1:s komplement och 2ngiltiga nummer i 2:s komplement.
Skillnaden mellan 1:s komplementrepresentation och 2:s komplementrepresentation i tabellform:
| Kriterier | 1:s komplement | 2:s komplement |
| Definition | 1:ans komplement till ett binärt tal erhålls genom att invertera alla dess bitar. | 2-komplementet av ett binärt tal erhålls genom att addera 1 till 1-komplementet av talet. |
| Värdeintervall som kan representeras med n bitar | Från -2^(n-1) + 1 till 2^(n-1) – 1 | Från -2^(n-1) till 2^(n-1) – 1 |
| Antal representationer för noll | Kan representeras på två sätt (alla 0:or och alla 1:or). | Kan endast representeras på ett sätt (alla nollor). |
| Addering av positiva och negativa tal | Samma som osignerad binär addition. | Samma som osignerad binär addition. |
| Subtraktion av tal | Subtrahera det mindre talet från det större och lägg sedan till en teckenbit till resultatet. | Lägg till det negativa talet till det positiva med binär addition. |