NASTAVENÍ TISKU (tato tabulka nebude vytištěna) Zpět k článku | Vytiskni!
Komentáře [7x] - Skrýt | Nadstandardní komentář [1x] - Skrýt | Definice [2x] - Skrýt

Rozdíl dvou čísel ve dvojkové soustavě

V případě potřeby rychlého odečítání čísel ve dvojkové soustavě můžeme využít vztahy (2) až (4) a interpretovat je pro odčítání.

Příklad: Vypočtěte: 1011 - 0111 (tj. 11 - 7). Budeme postupovat odzadu s využitím vztahů (2) až (4), tj. naprosto analogicky, jako se provádí písemné odčítání čísel v dekadické soustavě. Dostaneme tedy: . Barevně jsou vyznačeny ty číslice, které „k sobě patří“ (tj. na které byly postupně odzadu aplikovány vztahy (2) až (4)). A musí fungovat i zpětná kontrola - pokud výsledek přičteme k odečítanému číslu, musíme získat číslo, od kterého jsme odečítali.

V případě, že se budeme chtít s problematikou rozdílu dvou čísel ve dvojkové soustavě seznámit detailněji, budeme muset nejdříve pochopit, jak reprezentovat ve dvojkové soustavě záporná čísla.

Rozdíl dvou kladných čísel můžeme totiž přepsat na součet kladného čísla a záporného čísla - např. 7 - 5 = 7 + (-5).

Jednou z variant, jak vyjádřit záporné číslo ve dvojkové soustavě, je použít (stejně jako v desítkové soustavě) znak „-“. Při reprezentaci čísla ve dvojkové soustavě v počítači je pak nutné vyhradit jeden bit právě na znaménko čísla. Na převodu čísla z jedné soustavy do druhé by se v tomto případě nic nezměnilo. V digitální technice a ve výpočetní technice se ale velmi často používá jiná metoda. Záporné číslo se vyjadřuje ve dvojkové soustavě pomocí tzv. dvojkového doplňku (binárního doplňku) daného čísla.

Dvojkový doplněk (binární doplněk)  daného čísla  ve dvojkové soustavě je definován vztahem

, (5)

kde symbol  značí negaci původního čísla .

Vztah mezi daným číslem a jeho dvojkovým doplňkem ve čtyřbitové reprezentaci lze sledovat na schématu zobrazeném na obr. 6.

Toto schéma připomíná ciferník hodin a počítání na hodinách.

Obr. 6

Příklad: Mějme vytvořit dvojkový doplněk k číslu 5. Vyjádříme tedy číslo 5 ve dvojkové soustavě a získáme (ve čtyřbitové reprezentaci) číslo 0101. K tomuto číslu vytvoříme negované číslo (invertované číslo), tj. dostaneme číslo 1010. A k tomuto číslu (ve shodě s definičním vztahem (5)) přičteme jedničku. Na základě znalosti součtu čísel ve dvojkové soustavě dostaneme: . Dvojkový doplněk čísla 0101 (tj. čísla) tedy je číslo 1011. To je v souladu s obr. 6.

Na základě znalosti dvojkového doplňku daného čísla zapsaného ve dvojkové soustavě můžeme nyní přistoupit k definici rozdílu dvou čísel ve dvojkové soustavě.

Rozdíl  dvou čísel zapsaných ve dvojkové soustavě je možné psát ve tvaru

, (6)

kde  je dvojkový doplněk čísla . Ve výsledku je ale nutné vynechat přenos jedničky do nejvyššího řádu (do nejvyššího bitu).

Jednička v nejvyšším bitu, kterou do výsledku dle výše uvedené definice nepíšeme, značí, že se jedná o záporné číslo.

Stejně jako v případě součtu čísel ve dvojkové soustavě, i v případě rozdílu čísel ve dvojkové soustavě je vhodné obě čísla vyjádřit na stejný počet míst (resp. na stejný počet bitů) doplněním nul zleva.

Příklad: Od čísla 1101 máme odečíst číslo 0110 (tj. máme spočítat 13 - 6). Budeme postupovat tedy přesně podle definice (tj. podle vztahů (6) a (5)). Nejdříve vyjádříme dvojkový doplněk čísla 0110. Podle vztahu (5) je roven  a tedy zadaný rozdíl můžeme psát ve tvaru . Jedničku, která je vyznačena v součtu červeně, je nutné vynechat. A tak dostáváme řešení zadané úlohy: 1101 - 110 = 1101 - 0110 = 0111, tj. v desítkové soustavě 13 - 6 = 7.

V případě odčítání většího čísla od menšího je postup zcela analogický. Jen je pak nutné správně interpretovat získaný výsledek.

Příklad: Od čísla 1010 odečtěte číslo 1110 (tj. od čísla 10 máme odečíst číslo 14). Aplikováním výše uvedeného postupu postupně dostaneme dvojkový doplněk k číslu 1110:  a ten přičteme k číslu 1010. Takže dostaneme: . Výsledek je nutné správě interpretovat - na první pohled je ve výsledku číslo 4, ale ze zadání je jasné, že výsledkem musí být záporné číslo. Abychom získali číslo -4, najdeme jeho dvojkový doplněk: . Číslo 1100 je dle obr. 6 dvojkový doplněk čísla 4, tj. odpovídá číslu -4.

Od čísla 10 odečtěte číslo 101 (tj. od čísla 2 odečtěte číslo 5). Na začátku je vhodné převést obě čísla do čtyřbitové reprezentace, tj. řešit úlohu 0010 - 0101. K číslu 0101 najdeme dvojkový doplněk a dostaneme tak 1010 + 0001 = 1011. Toto číslo přičteme k číslu 0010 a dostaneme tak: 0010 + 1011 = 1101. Podle obr. 6 se jedná o dvojkový doplněk čísla -3. Pokud bychom nevěděli, které číslo má takový dvojkový doplněk, stačí stejným postupem, jakým se získává dvojkový doplněk, výsledek převést: 0010 + 1 = 0011 - a to je číslo 3.


© Převzato z http://fyzika.jreichl.com, úpravy a komerční distribuce jsou zakázány; Jaroslav Reichl, Martin Všetička