Toto je starší verze dokumentu!
Datové typy
Celočíselné datové typy
Podívejme se nyní na tabulku všech vestavěných celočíselných datových typů v C++, všimněte si typu int, který již známe z minula.
| Datový typ | Rozsah | Velikost |
|---|---|---|
| signed char | -128 až 127 | 8 bitů |
| unsigned char | 0 až 255 | 8 bitů |
| short | –32 768 až 32 767 | 16 bitů |
| unsigned short | 0 až 65 535 | 16 bitů |
| int | –2 147 483 648 až 2 147 483 647 | 32 bitů |
| unsigned int | 0 až 4 294 967 295 | 32 bitů |
| long int | -231 - 231-1 | 32 bitů |
| unsigned long int | 0 - 231-1 | 32 bitů |
Výstupní konverze
Desetinná čísla
| Datový typ | Rozsah | Přesnost |
|---|---|---|
| float | +-3.4 * 10−38 až +-3.4 * 1038 | 7 číslic |
| double | +-1.7 * 10−308 až +-1.7 * 10308 | 15 číslic |
| long double | +-1.7 * 10−308 až +-1.7 * 10308 | 15 číslic |
Pozor, vzhledem k tomu, že desetinná čísla jsou v počítači uložena ve dvojkové soustavě, dochází k určité ztrátě přesnosti. Odchylka je sice téměř zanedbatelná, nicméně když budete programovat např. finanční systém, mohou se objevit problémy.
double d = 3.14; float f = 3.14f;
Další vestavěné datové typy
| char | U+00 až U+ff (0 až 255 nebo -128 až 127) | 8 bitů | znak |
| wchar_t | U+0000 až U+ffff (0 až 65 535) | 16 bitů | „široký“ znak |
| bool | true nebo false (1 nebo 0) | 8 bitů | logická hodnota |
char
- Typ char (character) nám reprezentuje jeden znak. Na rozdíl od typu string, který reprezentoval celý řetězec hodnot typu char, píšeme znaky v C++ do jednoduchých apostrofů:
char c = 'A';
bool
- Typ bool nabývá dvou hodnot: true (pravda) a false (nepravda). Budeme ho používat zejména tehdy, až se dostaneme k podmínkám. Do proměnné typu bool lze uložit jak přímo hodnotu true/false, tak i výsledek logického výrazu nebo celé číslo (0 jako false a cokoli jiného jako true).
#include <stdio.h> int main(void) { bool b = false; bool vyraz = (15 > 5); printf("%d\n", b); printf("%d\n", vyraz); return 0; }