Výrok „Dostali na to neomezený rozpočet, a podařilo se jim ho překročit …„ (Michael Armstrong, CEO, problém Y2K, )
Číselné soustavy všechny informace v počítačích jsou reprezentovány číslicemi používá se dvojková soustava (binární), která rozlišuje pouze dva stavy – 1 a 0 (True a False) proč ne desítková? – nutnost deseti různých fyzikálních stavů n-tice znaků v binární soustavě se nazývá n-bitové číslo (např šestibitové číslo) dále se používají soustavy 1) osmičková (oktalová) – čísla 0 až 7 2) desítková 3) šestnáctková (hexadecimální) – čísla 0 až 9 + písmena A až F
Převody mezi soustavami polyadický zápis čísla N=a n *Z n +a n-1 *Z n-1 +a n-2 *Z n-2 +…+a 1 *Z 1 +a 0 *Z 0 +a -1 *Z -1 +…+a -n *Z -n (N – číslo a n – koeficient (n – řád místa) Z – základ soustavy) (např. 1101,01 2 = 1* * * *2 -2 v binární soustavě) převod 1) pomaleji přes desítkovou soustavu (Z=10) 2) rychleji - přímo (použití bitové mřížky)
Převody mezi soustavami ze soustavy Z=x do Z=10 použít polyadický zápis čísla např. 320,4 5 = 3*5 2 +2*5 1 +0*5 0 +4*5 -1 = 85,8 10 ze soustavy Z=10 do Z=x postupným dělením základem soustavy např. 49:2=24:2=12:2=6:2=3:2=1 => = zbytek i=5 i=0 i=1 i=2 i=3 i=4
Převody mezi soustavami desetinné číslo ze soustavy Z=10 do Z=x postupným násobením základem soustavy např. i=0<=0,625*2 0, = 0,101 2 i=1<=1,250*2 i=2<=0,500*2 i=3<=1,0 – konec převodu (za čárkou je nula)
Převody mezi soustavami ze soustavy Z=2 do Z=8 a zpět použití tříbitové mřížky např = např = ze soustavy Z=2 do Z=16 a zpět použití čtyřbitové mřížky např = 5B1 16 např. A4F 16 =
Reprezentace a zobrazení dat data musí být srozumitelná pro počítač snadno reprezentovatelná vhodně převoditelná pro člověka dostatečně obecná i pro složitější struktury čísla – kód BCD, Greyův kód znaky – kód ASCII (7+1 bitů – znakové sady) (American Standard Code for Information Interchange)
Kód I – množina informací, které máme zobrazit Z – množina obrazů těchto informací – soubor pravidel, jak přiřadit prvkům množiny I, prvky množiny Z kód je soustava tvořená I, Z a Z = (I) nebo-li vzájemně jednoznačné přiřazení významu prvkům z množiny čísel
Tabulka kódu BCD I Z
Tabulka Grayova kódu I Z
Aritmetické operace princip je stejný jako v desítkové soustavě!!!!! sčítání (přenos) odčítání (výpůjčka) např např
Aritmetické operace násobení např *
Aritmetické operace dělení např ,111 : 0111 = 101, ,111 -0, zbytek
Aritmetické operace odčítání = přičítání dvojkového doplňku (DD) => – inverse (změna každého bitu) +1 – přičtení 1 k inversi => DD např =>DD=> jednička navíc nás nezajímá
Zobrazení dat 1) celá čísla bez znaménka (unsigned) 1B – FF 2B – 0-64K 0000-FFFF 2) celá čísla se znaménkem (signed) a) přímý kód znaménkem je první, nejvíce významný bit (MSB) 1B – 00-7F >0 0 až FF <0 -0 až -127 2B – FFF>0 0 až 32K 8000-FFFF<0 -0 až -32K kladná a záporná nula!!!
Zobrazení dat 2) celá čísla se znaménkem (signed) b) inverzní kód - použití jedničkového doplňku (inverze) - kladná a záporná nula!!! c) doplňkový kód - použití dvojkového doplňku (inverze +1) - znaménko je součást čísla => není dvojitá nula!!!
Zobrazení dat 3) desetinná čísla s pevnou řádovou čárkou - desetinná čárka má pevné místo - musím přesně vědět, kolik řádů chci zobrazit 4) desetinná čísla s pohyblivou řádovou čárkou - floating point - A = m*Z e m – mantisa; e – exponent; Z – základ soustavy
Operace s floating point sčítání/odčítání – 1) upravit operandy tak, aby měly stejný exponent 2) sečíst/odečíst mantisy násobení/dělení – 1) vynásobit/vydělit mantisy 2) sečíst/odečíst exponenty
Normalizace témuž číslu může příslušet několik reprezentací 8 = 0.8*10 1 = 0.08*10 2 = … číslo má normalizovaný tvar, není-li možné posunout mantisu doleva např. : 0.011*2 3 – nenormalizovaný tvar 1.100*2 2 – normalizovaný tvar
Skrytá jednička bit v nejvyšším řádu je vždy roven 1 => lze ho ze zápisu nenulových čísel vypustit znaménkoexponentmantisa 32b1b8b23 (24)b 64b1b11b52 (53)b