Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
Dvojkový doplněk je způsob kódování celého záporného čísla v binární soustavě.
Obsah |
Postup kódování je ten, že od absolutní hodnoty kódovaného záporného čísla je odečtena jednička, číslo je převedeno do dvojkové soustavy a je provedena jeho negace. (Stejného výsledku lze dosáhnout, pokud je absolutní hodnota nejprve převedena do dvojkové soustavy, negována a nakonec je ve dvojkové soustavě přičtena jednička.)
Řekněme, že máme dvě celá čísla v absolutní hodnotě 1000 0001 a 11 0110, a chceme druhé číslo odečíst od prvního.
1. Zarovnáme počet bitů obou čísel - 1000 0001 a 0011 0110
2. Provedeme negaci menšitele (číslo, které je odečítáno) - 0011 0110 => 1100 1001
3. Provedeme inkrementaci (přičtení jedničky) menšitele - 1100 1001 + 1 = 1100 1010
Dvojkový doplněk je tedy 1100 1010. Výpočet rozdílu provedeme sečtením menšence 1000 0001 a doplňku 1100 1010. Výsledkem je číslo 100 1011.
Následující příklad předvádí kódování čísel −8 až 7 (v desítkové soustavě) do čtyřbitového čísla ve dvojkové soustavě použitím dvojkového doplňku.
| Dvojkový doplněk | Desítkově |
|---|---|
| 0111 | 7 |
| 0110 | 6 |
| 0101 | 5 |
| 0100 | 4 |
| 0011 | 3 |
| 0010 | 2 |
| 0001 | 1 |
| 0000 | 0 |
| 1111 | −1 |
| 1110 | −2 |
| 1101 | −3 |
| 1100 | −4 |
| 1011 | −5 |
| 1010 | −6 |
| 1001 | −7 |
| 1000 | −8 |
Z příkladu jsou patrné následující skutečnosti: