4. Typy dat

4.3. Aritmetika s celými čísly

Veškeré aritmetické operace jdou převést na sčítání.

Odečítání lze provést tak, že se v odečítateli změní znaménko (převede se do doplňkového kódu) a sečte se s odčítancem.

Násobení spočívá v kombinaci posouvání 1. násobitele vlevo podle 2. násobitele a sérii sčítání.

Dělení spočívá v odečítání a posouvání vpravo.

Víme, že při sčítání dvou číslic v desítkové soustavě zapisujeme při překročení devítky jen pravou číslici ze součtu do výsledku a levá jednička je tzv. přenos, který přičteme k dalším číslicím vlevo.

Např.:

2+ 2 = 4, přenos 0

7 + 8 = 5, přenos 1

 

Podobně ve dvojkové soustavě může být výsledkem sčítání dvou číslic - viz Tabulka 1.

 Sčítanec a 

 Sčítanec b 

 Přenos 

 Výsledek 

 Výsledný přenos 

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

Tabulka  1: Přenos

Pozn.: Doplněk ke dvojkovému číslu lze rychle vytvořit tak, že se opisují číslice ( 0 ) zprava, tj. od nejnižšího řádu, tak dlouho, až se narazí na 1. jedničku, ta se rovněž opíše a pak se již zaměňují 0 za 1 a 1 za 0. Druhým způsobem je vytvořit inversní kód a k němu přičíst jedničku.

 

Pokud při aritmetické operaci je výsledek mimo rozsah zobrazitelný pro daný typ celého čísla, dojde k tzv. přetečení. Výsledkem sčítání dvou kladných čísel může být záporné číslo, neboť došlo k přetečení do znaménkového bitu.

 

Přetečení při sčítání 2 čísel:

(18 926)10    (0 100 100 111 101 110)2

(16 385)10   (0 100 000 000 000 001)2

--------------   ------------------------------------

(35 311)10   (1 000 100 111 101 111)2   = (-30 225)10 !!!