Dátový typ

**Údajový typ** je spojenie oblastí hodnôt a operácií v jeden celok. Podľa Niklausa Wirtha je to určovateľ množiny hodnôt, napr. typ premennej.

## Rozdelenie údajových typov
* **Abstraktné údajové typy** – sú typy, ktoré kladú dôraz na vlastnosti operácií a oblasti hodnôt.
* **Konkrétne údajové typy** – sú typy použité v konkrétnom programovacom jazyku.
* **[[Údajová štruktúra|Údajové štruktúry]]** –  spôsoby ukladania údajov v počítači za účelom efektívneho použitia.

### Abstraktné údajové typy
* pravdivostný typ
* prirodzené číslo
* celé číslo
* reálne číslo
* komplexné číslo
* znak
* text

### Konkrétne údajové typy
Konkrétne údajové typy sa v programovacích jazykoch používajú na deklaráciu premenných. Vo väčšine programovacích jazykoch sa dajú použiť tieto údajové typy:

**Boolean** (alebo **bool**) 
je implementáciou pravdivostného typu. Môže obsahovať dve možné hodnoty **True** (Pravda) a **False** (Nepravda), ktorým tiež prislúcha určitý (v každom programovacom jazyku môže byť iný) rozsah číselných hodnôt, väčšinou *False* = 0 a *True* >= 1. Pre tento typ sú zadefinované tieto operácie:
* nulárna operácia *„pravda?“* overuje, či má premenná typu Boolean hodnotu *True*;
* unárna operácia negácia (*NOT*) mení hodnotu premennej z *True* na *False* a naopak;
* binárne operácie konjunkcia (*AND*), disjunkcia (OR), XOR, ekvivalencia a implikácia;
* ternárna operácia *„ak, potom inak“* (*If Then Else*), v programovaní tiež nazývaná podmienka alebo vetvenie.

**Byte** 
je to 8-bitové celé číslo v rozsahu -128 až +127.

**Char** 
je to 16-bitové neznamienkové celé číslo v rozsahu 0 až 65 535.

**Short**  
je 16-bitové celé číslo v rozsahu -32 768 až +32 767. Operácie sú rovnaké ako pri type *Byte*.

**Int** 
je 32-bitové celé číslo v dvojkovom doplnkovom kóde. Rozsah je od -2 147 483 648 po +2 147 483 647.

**Long** 
je 64-bitové celé číslo veľkosti od -9 223 372 036 854 775 808 až do +9 223 372 036 854 775 807.

**Single** (alebo **Float** či **Real**) 
je typ určený pre uchovávanie desatinných čísel v rozsahu −3,402823×1038 až −1,401298×10−45 pre záporné čísla a 1,401298×10−45 až 3,402823×1038 pre kladné čísla. Zjednodušene povedané, môže sa počítať aj s veľmi veľkými alebo veľmi malými číslami, ale pointa je v tom, že presnosť čísla je vždy 6 až 7 cifier. Pre tento typ sú definované operácie: sčítanie, odčítanie, násobenie, delenie, celočíselné delenie a ďalšie v závislosti od programovacieho jazyka.

**Double** 
je typ s dvojnásobnou presnosťou. Údaj takéhoto typu bude zaberať dvakrát viac pamäte ako údaj typu Single, ale číslo bude s presnosťou asi na 20 desatinných miest (P. Herout: Učebnice jazyka C, kap. 3). Presný rozsah je od −1,79769313486231×10308 do −4,94065645841247×10−324 pre záporné čísla a od 4,94065645841247×10−324 do 1,79769313486232×10308 pre kladné čísla.

**String** 
je typ, ktorý je určený na uchovanie „reťazcov“, čiže textových hodnôt. V našom prípade by sa použilo napríklad pre „meno“ a „priezvisko“. Niektoré programovacie jazyky rozlišujú dva typy *stringov*:
* **ANSI String** – reťazec s maximálnou dĺžkou znakov (*string* jazyka Pascal);
* **CString** – reťazec s premenlivou dĺžkou, môže obsahovať reťazec s 0 až 2 biliónmi znakov (*string* jazyka C).
Oba tieto typy majú rozdielnu sadu operácií, i keď sú použité v rovnakom programovacom jazyku.
 
**Object** (alebo **Trieda**) 
je typ, ktorý umožňuje vytvoriť odkaz na objekt, ktorý môže mať svoje vlastnosti, metódy a udalosti.

## Pozri aj
* Údajová štruktúra

## Zdroje

Základy programovania
* 

Kategória:Dátové typy