Cı́selné datové typy
Jak už jsme si řekli, každá proměnná musí mít před jakýmkoli použitím deklarovaný datový typ. Ten nám určuje, jaké operace smíme s proměnnou provádět a jakých hodnot může proměnná nabývat.
Číselné datové typy mají určený rozsah hodnot, které je do nich možné uložit. Podle toho, jak velký je tento rozsah, je velká i paměť, kterou proměnná s tímto datovým typem zabere.
Celočíselné datové typy
Máme tedy několik celočíselných typů, které se liší rozsahem hodnot (zabranou pamětí) a také tím, zda podporují záporné hodnoty. Obecně nejpoužívanějším je typ Integer.
Typ Rozsah Velikost zabrané paměti
ShortInt {-128 … 127} 1 B
Integer {-2 147 483 648 … 2 147 836 647} 4 B
Byte {0 … 255} 1 B
Word {0 … 65 535} 2 B
Upozornění: Vždy byste si měli zkontrolovat, zda výsledek nějaké operace nemůže přesáhnout rozmezí datového typu proměnné, do které výsledek ukládáte.
Reálné datové typy
Vzhledem k tomu, že do libovolně malého intervalu se vejde nekonečně mnoho reálných čísel, musíme zde omezit i přesnost. Reálná čísla jsou v Pascalu uložena i zobrazována v semilogaritmickém tvaru (např. 5.62 · 10-1).
Upozornění: Pascal používá desetinou tečku a ne čárku.
Výpočet: X = mantisa · 10exponent
Upozornění: V mantise se před desetinou tečkou nachází pouze jedna číslice a to první platná.
Příklady:
Zase tedy máme několik druhů reálných typů, které se liší v intervalu hodnot a v přesnosti. Z toho nejpoužívanějším je typ Real, protože má dostačující velikost i přesnost pro většinu operací.
Typ Rozsah Platných číslic Velikost zabrané paměti
Real {2.9 · 10-39 … 1.7 · 1038} 11 – 12 6 B
Single {1.5 · 10-45 … 3.4 · 1038} 7 – 8 4 B
Double {5.0 · 10-324 … 1.7 · 10308} 15 – 16 8 B
Extended {3.4 · 10-4932 … 1.1 · 104932} 19 – 20 10 B
Upozornění: Jak jistě tušíte, při práci s reálnými datovými typy dochází k zaokrouhlování hodnot a tudíž také k zaokrouhlovací chybě.
X mantisa · 10exponent
Pascal konkrétně vypíše:
(v případě typu Real)
224.25 2.2425 · 102 2.242500000000000E+002
0.025 2.5 · 10-2 2.500000000000000E-002