Předpoklad – Reprezentace záporných binárních čísel
doplněk 1 binárního čísla je další binární číslo získané přepnutím všech bitů v něm, tj. transformací bitu 0 na 1 a bitu 1 na 0. Příklady:
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)>
doplněk 2 binárního čísla se k doplňku 1 binárního čísla přičte 1. Příklady:
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)>
Tyto reprezentace se používají pro čísla se znaménkem.
The hlavní rozdíl mezi 1′ s doplňkem a 2's doplněk je, že 1′s doplněk má dvě reprezentace 0 (nula) — 00000000, což je kladná nula (+0), a 11111111, což je záporná nula (-0); zatímco v doplňku 2′ s existuje pouze jedna reprezentace nuly — 00000000 (0), protože když přidáme 1 k 11111111 (-1), dostaneme 100000000, což je devět bitů. Protože je povoleno pouze osm bitů, bit nejvíce vlevo je vyřazen (nebo přetečen) a zůstane 00000000 (-0), což je stejné jako kladná nula. To je důvod, proč se obecně používá 2′s doplněk.
Dalším rozdílem je, že při sčítání čísel pomocí doplňku 1's nejprve provedeme binární sčítání a poté přidáme koncovou přenosovou hodnotu. Ale 2′s doplněk má pouze jednu hodnotu pro nulu a nevyžaduje přenos hodnot.
Rozsah doplňku 1 pro n bitové číslo je od -2n-1-1 až 2n-1-1, zatímco rozsah doplňku 2 pro n bit je od -2n-1do 2n-1-1.
java booleovský řetězec
jsou 2n-1platná čísla v doplňku 1 a 2nplatná čísla v doplňku 2.
Rozdíl mezi reprezentací komplementu 1 a reprezentací komplementu 2 v tabulkové formě:
| Kritéria | Doplněk 1 | Doplněk 2 |
| Definice | Doplněk 1 binárního čísla se získá invertováním všech jeho bitů. | Doplněk 2 binárního čísla se získá přičtením 1 k doplňku 1 čísla. |
| Rozsah hodnot, které mohou být reprezentovány n bity | Od -2^(n-1) + 1 do 2^(n-1) – 1 | Od -2^(n-1) do 2^(n-1) – 1 |
| Počet zobrazení pro nulu | Může být reprezentován dvěma způsoby (všechny 0 a všechny 1). | Může být reprezentován pouze jedním způsobem (všechny 0). |
| Sčítání kladných a záporných čísel | Stejné jako binární sčítání bez znaménka. | Stejné jako binární sčítání bez znaménka. |
| Odečítání čísel | Odečtěte menší číslo od většího a k výsledku přidejte znaménkový bit. | Přidejte záporné číslo ke kladnému pomocí binárního sčítání. |