Číslice a čísla v informatice
a programování III, Datové typy
čísel v programování
V minulém dílu jsme se věnovali číselným soustavám a jejich převodům. Dnes se posuneme k tomu, jak se čísla ukládají a využívají v samotném programování. Ne všechna čísla jsou totiž stejná – někdy potřebujeme celá čísla, jindy čísla s desetinnou částí, a někdy nám stačí pouhá logická hodnota pravda/nepravda.
Datové typy čísel
Programovací jazyky rozlišují různé datové typy podle toho, jaká čísla chceme uchovávat a jak s nimi budeme pracovat.
a) Celá čísla (integers)
Zapisují se bez desetinné tečky.
Používají se např. pro počítání prvků v poli, indexy, cykly.
V některých jazycích se rozlišují podle velikosti (např. int, short, long v jazyce C).
V Pythonu mohou být celá čísla libovolně velká (dynamicky se rozšiřují).
b) Reálná čísla (floating point)
Ukládají se pomocí desetinné tečky, např. 3.14.
Interně se uchovávají v tzv. plovoucí řádové čárce (floating point).
Hodí se pro vědecké výpočty, grafiku, měření.
Nevýhoda: mohou obsahovat chyby zaokrouhlení (např. 0.1 + 0.2 ≠ 0.3 přesně).
c) Logické hodnoty (boolean)
Mohou nabývat pouze hodnot True/False (nebo 1/0).
Často se využívají v podmínkách a cyklech.
Vznikají i z porovnávání čísel (5 > 2 vrátí True).
Paměť a rozsah
Čísla nejsou nekonečná – v paměti mají vždy určitou velikost.
8 bitů = 1 bajt → rozsah 0–255 (pro unsigned).
16 bitů = 2 bajty → rozsah 0–65 535.
32 bitů → asi 4 miliardy hodnot.
64 bitů → ještě více, prakticky neomezené pro většinu aplikací.
Např. v jazyce C:
int (32 bitů): –2 147 483 648 až 2 147 483 647.
unsigned int: 0 až 4 294 967 295.
Problémy při práci s čísly
Přetečení (overflow) – pokud překročíme maximální hodnotu typu.
Např. v C: int x = 2147483647 + 1; → výsledek je záporné číslo.
Zaokrouhlovací chyba – u desetinných čísel není vždy možné uložit hodnotu přesně.
Např. v Pythonu: 0.1 + 0.2 → 0.30000000000000004.
Typová nekompatibilita – nelze vždy kombinovat různé typy bez konverze.
Ukázka v Pythonu
# celá čísla
a = 42
print(type(a)) #
# desetinná čísla
b = 3.14
print(type(b)) #
# logické hodnoty
c = True
print(type(c)) #
# přetečení v Pythonu nehrozí (int se rozšíří)
big = 10**100
print(big)
# problém zaokrouhlování
print(0.1 + 0.2) # 0.30000000000000004
Čísla se v programování ukládají v různých datových typech: celá, reálná a logická.
Každý typ má své výhody, ale také omezení (rozsah, přesnost).
Správná volba typu je klíčová pro efektivní a spolehlivé programy.
Zdroje
VÁCLAVÍK, David. Počítače a jejich dějiny. Grada Publishing, 2020.
CERUZZI, Paul. A History of Modern Computing. MIT Press, 2003.
IBM Archives
PUBLIKOVÁNO
04.06.2024, 13:25
ODKAZ
https://www.weloveit.education/Article/20250928-Cislice-a-cisla-v-informatice-a-programovani-III-Datove-typy-cisel-v-programovani/