Datové struktury bit /binary digit) - nejmenší jednotka informace (jedna ze dvou možností, nula nebo jedna) byte - nejmenší adresovatelná jednotka paměti (8bitů) 8 bitů = 1 znak - 256 kombinací = ASCII tabulka (American Standard Code for Information Interchange) 0-31 speciální znaky 32-126 anglická abeceda, číslice KiB = 210 bytů (1024 bytů) MiB = 220 bytů (1048576 bytů) GiB = 230 bytů (1,010.1012 bytů) Unicode Kódování češtiny = PC Latin2 (CP 852) MS Windows (CP 1250)
Uložení čísel v počítači čísla celá čísla reálná (v pohyblivé řádové čárce) 725 = 0.725. 103 (mantisa 3 byty - až 7 platných dekadických číslic - 6 hexadecimálních)
Číselné soustavy dekadická binární hexadecimální patří mezi soustavy poziční, tj. desítková hodnota každé číslice (znaku) závisí na její pozici vzhledem k řádové čárce váhy v jednotlivých pozicích jsou mocniny základu soustavy
Binární soustava 2 10 Je tvořena dvěma znaky (0 a 1) základem soustavy je 2 vyjádřeno pomocí základních znaků soustavy – 10 váha jedničky v této pozici je dvě Dekadická hodnota Odpovídající binární hodnota 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001
Binární soustava váhy (mocniny základu) v jednotlivých pozicích: 210 29 28 27 26 25 24 23 22 21 20 1024 512 256 128 64 32 16 8 4 2 1
Hexadecimální soustava Je tvořena šestnácti znaky (číslice 0 – 9 a písmena A – F, které nahrazují dvouciferné hodnoty 10 - 15) Jednodušší převod na binární soustavu 1 hexadecimální znak = čtveřice bitů, tj. nul a jedniček využívají se všechny čtveřice – proto písmena s desítkovou hodnotou je 16 možných kombinací čtveřic – 24, tj. dají se pomocí nich vyjádřit desítkové hodnoty 0 – 15 základem soustavy je 16, tj. opět 1016 obvykle stačí méně hex. znaků pro vyjádření určité desítkové hodnoty
Hexadecimální soustava – znaky a jejich dekadické hodnoty, binární vyjádření 0000 8 1000 1 0001 9 1001 2 0010 A 10 1010 3 0011 B 11 1011 4 0100 C 12 1100 5 0101 D 13 1101 6 0110 E 14 1110 7 0111 F 15 1111
Hexadecimální soustava - váhy váhy hex. soustavy (do 3. řádu) 163 162 161 160 4096 256 16 1
BIN HEX DEC OCT 23 22 21 20 0000 0 0 0 0001 1 1 1 0010 2 2 2 0011 3 3 3 0100 4 4 4 0101 5 5 5 0110 6 6 6 0111 7 7 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15
Převody mezi číselnými soustavami 725 = 7.102 + 2 . 101 + 5 . 100 01010111(2) = 1.26 + 0.25 + 1.24 +0.23 + 1.22 + 1.21 + 1.20 = 87(10) B5(16) = 11.161 + 5.160 = 181(10) B5(16) = 1011 | 0101(2) (27+ 25 + 24+22 + 20 = 181(10) ) 0101 | 0111(2) = 57(16) (5.161 + 7.160 = 87(10) )
Převody z dekadické do binární 72D => ?B 72:2=36 36:2=18 18:2=9 výsledek posledního dělení je číslice (příp. znak) nejvyššího řádu 72:2=36 36:2=18 18:2=9 9:2=4 4:2=2 2:2=1 Zbytky: 1 72D => 1001000B čteme od konce
87 : 2 = 43 zbytek 1 43 : 2 = 21 1 21 : 2 = 10 1 10 : 2 = 5 0 5 : 2 = 2 1 2 : 2 = 1 0 1 : 2 = 0 1 výsledek zapisujeme zdola nahoru , tj. 1010111
Převody z binární do dekadické 1001000B => ?D 26 25 24 23 22 21 20 64 8 64D + 8D = 72D 1001000B => 72D
Převody z dekadické do hexadecimální 181D => ? 181: 16 =11 výsledek B zbytek 5 výsledek posledního dělení je číslice (znak) nejvyššího řádu 181D => B516
Hodnota v příslušné pozici Převody z hexadecimální do dekadické FF1A16 => ? 6530610 stačí méně hex. znaků (4) pro vyjádření 5timístného desítkového čísla váhy 163 162 161 160 Hex.znaky F 1 A násobek 15 x 4096 15 x 256 1 x 16 10 x 1 Hodnota v příslušné pozici 61440 3840 16 10
Kontrola – opačný převod 65306/16 ---- 4081 zbytek 10 4081/16 ---- 255 zbytek 1 255/16 ---- 15 zbytek 15 15 tj. FF1A
Datové typy typ, deklarace typu, operace s daty standardní datové typy integer real (float, double) boolean (logical) char (jednoznakové proměnné) string (textové řetězce) definované typy dat (typ definovaný výčtem) (typ den , hodnota .. středa)
Strukturované typy dat typ struktury (homogenní, heterogenní strukt.) uspořádání prvků ( statické, dynamické strukt.) označení prvků typ prvků (jednoduché, strukturované typy) operace s prvky
Standardní strukturované typy dat Pole (homogenní, statická struktura) Záznam (heterogenní, statická struktura) Množina (homogenní, statická struktura) Soubor (homogenní, dynamická struktura) Pole – jednorozměrné (vektor) - dvourozměrné (matice) vícerozměrné (3 rozměrné – kubická matice)
Abstraktní datové typy (Implentace většinou pomocí polí) lineární (homogenní, dynamické) seznam Zásobník (LIFO – Last In First Out) Fronta (FIFO – First In First Out) nelineární Tabulka (homogenní, dynamická) graf (orientovaný, neorientovaný)