v aritmetické jednotce počíta tače (Opakování) Dvojková, osmičková a šestnáctková soustava () Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. 2 A 3 Doplněné nuly B Číslo ve dvojkové soustavě Zápis pomocí šestnáctkové soustavy 2 3 4 5 6 7 8 9 A B C D E F 2
Dvojková, osmičková a šestnáctková soustava (2) Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. Číslo ve dvojkové soustavě 2 3 4 5 6 7 2 5 7 3 Doplněná nula Zápis pomocí osmičkové soustavy 3 Způsoby zobrazeníčísel Podle rozsahu a způsobu použití mohou být čísla uložena v některém z následujících formátů: Celáčísla bez znaménka (unsigned integer). Celáčísla se znaménkem (signed integer). Celáčísla v BCD kódu. Čísla v pohyblivéřádovéčárce (float). Každý formát má při provádění aritmetických operací různá omezení, která musí programátor respektovat. 4
Čísla unsigned integer Na n bitech lze zobrazit číslo v rozsahu... 2 n. MSB LSB 255 254 7 6 5 4 3 2 8bitové slovo unsigned Rozsah zobrazení...... 2 7 6 5 4 3 2 Číslování bitů 5 Čísla signed integer Pro zápornáčísla se používá doplňkový kód. Na n bitech lze zobrazit číslo v rozsahu 2 n... 2 n. 27 MSB LSB S 6 5 4 3 2 8bitové slovo signed Rozsah zobrazení............ 28 S 6 5 4 3 2 Číslování bitů 6
Odvozeníčísla signed integer Pro zobrazení na n bitech: Kladnéčíslo se odečte od čísla 2 n (tj. v řádu, který je mimo rozsah zobrazení). Příklad: číslo 52: v ntém řádu Délka slova n bitů S 6 5 4 3 2 256 ( 52) 52 7 Jednoduchá sčítačka Sčítačka (a odčítačka) pro 8bitováčísla integer. Kromě 8bitového výsledku generuje dva příznakové bity: Carry bit přenos do vyššího řádu. Overflow příznak přetečeníčísel signed integer. Operand A Operand B 7 6 5 4 3 2 7 6 5 4 3 2 A B OV CY 7 6 5 4 3 2 Overflow Carry bit Součet A B Sčítačka pracuje stejně s čísly unsigned integer i signed integer (!). 8
Sečítáníčísel unsigned integer Délka slova operandů i výsledku je omezena na 8 bitů 66 52 28 52 28 66 255 9 Sečítáníčísel unsigned integer Při překročení rozsahu zobrazení dojde k přetečení dostaneme nesprávný výsledek. Přetečení je indikováno příznakovým bitem CY. 255 225 52 2 2 Nevejde se do 8bitového zobrazení 52 255 Hranice přetečení CY (Carry bit) 225
Odečítáníčísel unsigned integer Při překročení rozsahu zobrazení dojde k přetečení dostaneme nesprávný výsledek. 255 52 225 83 52 Nevejde se do 8bitového zobrazení 225 255 Hranice přetečení CY (Carry bit) 83 Rozsah zobrazení pro unsigned integer Hranice přetečení (pro 8bitové zobrazení) je mezi čísly a 255. Přetečení 2 255 254 253 2
Sečítáníčísel signed integer Přetečení je indikováno příznakovým bitem Overflow (OV). 27 5 37 4 S = CY = OV (Overflow) = 37 4 5 28 27 Hranice přetečení 28 3 Odečítáníčísel signed integer Přetečení je indikováno příznakovým bitem Overflow (OV). 27 ( 4 ) ( 37 ) 5 S = CY = OV (Overflow) = 4 37 5 28 27 Hranice přetečení 28 4
Rozsah zobrazení pro signed integer Hranice přetečení (pro 8bitové zobrazení) je mezi čísly 27 a 28. Přetečení 26 27 28 27 26 25 5 Podmínky pro nastavení bitu OV Příznakový bit OV se nastavuje podle typu operace a znamének operandů a výsledku. Znaménko. operandu Znaménko 2. operandu Znaménko výsledku Operace ADD ADD ADD ADD SUB SUB SUB SUB ADD SUB SUB OV 6
Shrnutí () Sčítačka pracuje stejně s čísly signed i unsigned. Výsledek a význam bitů CY a OV se liší podle toho, jsouli operandy interpretovány jako číslo signed nebo unsigned. 225 52 2 3 52 2 CY = OV = Unsigned Signed 7 Shrnutí (2) Sčítačka pracuje stejně s čísly signed i unsigned. Výsledek a význam bitů CY a OV se liší podle toho, jsouli operandy interpretovány jako číslo signed nebo unsigned. CY = OV = 5 37 42 Unsigned 5 37 4 Signed 8
Porovnáváníčísel integer Při porovnávání se musí rozlišovat mezi čísly unsigned a signed. A = 225 A = 3 B = 52 B = 52 Unsigned: A > B Signed: A < B Pro unsigned se používají operace nad a pod (above / below). Pro signed se používají operace větší a menší (greater / less). 9 BCD kód Jednotlivé dekadickéčíslice se ukládají v binárním tvaru. 2 7 5 9 2 7 5 9 Rozvinutý tvar BCD 2 7 5 9 2 7 5 9 Zabalený tvar BCD 2
Sečítání BCD čísel () Musí se provádět dekadická korekce: Příklad: 3 5 = 8 Sečtení (ADD) 3 5 8 H H = < 9 Dekadická korekce (DAA) H H = 8 8 H = Half Carry H =, 8 < 9 DAA neprovede úpravu výsledku 2 Sečítání BCD čísel (2) Musí se provádět dekadická korekce: Příklad: 7 5 Sečtení (ADD) 7 5 C H H = > 9 Dekadická korekce (DAA) H H = C 6 2 H = Half Carry H =, C > 9 DAA upraví výsledek 22
Sečítání BCD čísel (3) Musí se provádět dekadická korekce: Příklad: 9 8 Sečtení (ADD) 9 8 H H = < A Dekadická korekce (DAA) 6 7 H H = H =, < 9 DAA upraví výsledek 23 Čísla v pohyblivéřádovéčárce Před uložením jsou převedena do normalizovaného tvaru:.ddddd...d 2 exp Formát uloženého čísla (podle IEEE 854): Podle přesnosti je číslo uloženo na 32 nebo 64 bitech. Znaménko mantisy Posunutý exponent Mantisa bit 8 bitů 23 bitů ( bitů) (52 bitů) 24
Převod čísla do normalizovaného tvaru Příklad: normalizace čísla 6.625. Normalizovaný tvar: 6.625 =. 2. =. 2 2 25 Dvojkový exponent Exponent se ukládá na 8 (resp. ) bitech v posunutém tvaru. Posunutý exponent = Exponent 27 Exponent Zvláštní význam 27 26 Zvláštní význam Posunutý exponent 26
Mantisa Zobrazuje se v přímém kódu. Číslice před řádovou čárkou se neukládá.. x 2 2 Exponent Uložená mantisa Neukládá se Znaménko 4 D 4 Úplné zobrazeníčísla 6.625 4D4 27 Příklady zobrazení () =. 2 28
Příklady zobrazení (2) 2 3.25 29 Příklady zobrazení (3) Absolutně největšíčíslo: 2 28 LSB Absolutně nejmenšíčíslo: 2 26 Absolutně největší číslo Absolutně nejmenší číslo 3
Rozsah zobrazení Přetečení Podtečení Přetečení 28 ( 2 LSB) Použitelný rozsah 2 26 ( ) 2 26 Použitelný rozsah 2 28 LSB 3 Speciální kombinace exponent/mantisa Exponent Mantisa.................. Význam ± (Nula) Denormal ± (Nekonečno) NaN (Not a Number) 32
Sečítání () Před sečtením se čísla musí převést na stejný exponent Příklad: = Exponent Mantisa Řádová čárka 33 Sečítání (2) Příklad: Exponent Mantisa Řádová čárka Nevejdou se do zobrazení Důsledek: = 34