04_zakladni_datove_typy
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Datové typy a proměnné
Přednáška 4
Datové typy
• Základní datové typy
• Abstraktní datové typy
• Reprezentace dat daného problému
Základní datové typy
• Dělení
• Reálné
• Celočíselné
• Znaménkové
• Bezznaménkové
• Rozšířené, složené, strukturované
• Pole, soubor, struktura
• Komplexní číslo, vektor
• Vyšší nároky na paměť i zpracování
Operace s datovými typy
• Operace spojené s daným datovým typem
• Důležité operace
• Typické funkce (+, -, *, /, modulo …)
• Specifické funkce pro daný typ (např. číslo komplexně sdružené)
• Inicializace
• Destrukce (a uvolnění zdrojů)
• Získání hodnoty
• Zapsání hodnoty
• Některé operace nedávají smysl pro jisté datové typy
• Reálné typy -> bitový posun, negace bitů
• Komplexní číslo -> relační operátory
Přesnost datového typu
• Závislá na platformě, překladači, jazyku
• Určuje
• Rozsah hodnot
• Přesnost/jemnost typu
• Velikost zabrané paměti
• Složitost a časovou náročnost operace
• U reálných typů dána počtem bitů mantisy
• Spojena se zaokrouhlovací chybou
Rozsah datového typu
• Závislá na platformě, překladači, jazyku
• U reálných typů dána počtem bitů exponentu
• Definováno v knihovně limits.h
• int
• [INT_MIN, INT_MAX]
• Vzdálenost mezihodnotami je 1
• double
• [-DBL_MAX, DBL_MAX]
• Vzdálenost mezi hodnotami?
• Liší se podle expomentu
Celočíselné beznaménkové typy
• Různé přesnoti
• V jazyce C:
• Není dána přesnost, ale hodnota, kterou musí datový typ reprezentovat
• Menší datový typ se musí beze ztráty uložit do většího
• long long int musí mít minimálně 64 bitů
• Z hlediska velikosti v paměti:
• char <= short <= int <= long int <= long long int (vše unsigned)
• Z hlediska konverzního řádu
• char < short < int < long int < long long int (vše unsigned)
Celočíselné znaménkové typy
• Menší rozsah v kladných číslech
• Mají záporné hodnoty
• Problém s vložením bezznaménkových čísel do znaménkových