logo

Rozdíl mezi reprezentací doplňku 1 a technikou reprezentace doplňku 2

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í.