Státnice z elektroniky

<< předchozí     následující >>

Kapitola 14
Dvojkový doplněk

Označme si symbolem A libovolné číslo, pro které platí | A | < 1. Symbolem A2 si označme číslo A zobrazené ve dvojkovém doplňku. Platí
pro A ≥ 0:A2 = A
pro A < 0:A2 = 2 + A = 2 − |A|

Převod do dvojkového doplňku plyne z těchto vztahů. Jinou možností je

14.1  Sčítání

A ≥ 0 < 1, B ≥ 0 < 1

Proto A2 = A a B2 = B a pro součet platí A2 + B2 = A + B < 2. Abych měl jistotu, že součet < 1, musím před sčítáním vydělit 2.

A ≥ 0 < 1, B < 0

Potom A2 = A a B2 = 2 + B. Pro součet platí 1 < A2+B2 = A + 2 + B < 3. Rovněž platí −1 < A + B < 1. Situace se rozpadne na dva případy.

0 ≥ A + B < 1 => 2 < A2 + B2 < 3. Abych výsledek dostal do požadovaného intervalu, odečtu 2. Potom A2 + B2 − 2 = (A + B + 2) − 2 = A + B. Tedy výsledek je, díky ztrátě přenosu na nejvyšším řádu, v pořádku.

−1 < A+B < 0. Potom součet je v intervalu 1 < A2 + B2 = A + B + 2 < 2. Dostaneme tedy správný výsledek.

−1 < A < 0, −1 < B < 0

Platí A2 = A + 2, B2 = B + 2. Pro součet platí −2 < A + B < 0. Pro součet ve dvojkovém doplňku proto platí 2 < A2 + B2 = A + B + 4 < 4. Odděleně posoudíme dva případy.

−1 < A + B < 0 => 3 < A2 + B2 = A + B + 4 < 4. Po odečtení 2 musí platit 1 < A2 + B2 − 2 = A + B + 2 < 2. Protože (A + B)2 = A + B + 2, je výsledek v pořádku.

−2 < A + B < −1 => 2 < A2 + B2 = A + B + 4 < 3. Po odečtení 2 vyjde 0 < A2 + B2 − 2 = A + B + 2 < 1.

14.2  Násobení a dělení dvěma

Kladné číslo se dělí posunem o 1 místo vpravo, zleva se doplňují jedničky. Záporné číslo se dělí dvěma posunem o 1 místo vpravo, ale zleva se doplňují jedničky.