spse:pm1:datove-typy

Toto je starší verze dokumentu!


→ Slide 1

Datové typy

→ Slide 2

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 char0 až 2558 bitů
short–32 768 až 32 76716 bitů
unsigned short0 až 65 53516 bitů
int–2 147 483 648 až 2 147 483 64732 bitů
unsigned int0 až 4 294 967 29532 bitů
long int-231 - 231-1 32 bitů
unsigned long int0 - 231-132 bitů

1)

→ Slide 3
Datový typRozsahPřesnost
float+-3.4 * 10−38 až +-3.4 * 10387 číslic
double+-1.7 * 10−308 až +-1.7 * 1030815 číslic
long double+-1.7 * 10−308 až +-1.7 * 1030815 čí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;
→ Slide 4
charU+00 až U+ff (0 až 255 nebo -128 až 127)8 bitůznak
wchar_tU+0000 až U+ffff (0 až 65 535)16 bitů„široký“ znak
booltrue nebo false (1 nebo 0)8 bitůlogická hodnota
↓ Slide 5
  • 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';
↓ Slide 6
  • 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;
}
→ Slide 7
typevýznam
d, iCelé číslo se znaménkem (Zde není mezi d a i rozdíl. Rozdíl viz scanf() níže).
uCelé číslo bez znaménka.
oČíslo v osmičkové soustavě.
x, XČíslo v šestnáctkové soustavě. Písmena ABCDEF se budou tisknout jako malá při použití malého x, nebo velká při použití velkého X.
pUkazatel (pointer)
fRacionální číslo (float, double) bez exponentu.
e, ERacionální číslo s exponentem, implicitně jedna pozice před desetinnou tečkou a šest za ní. Exponent uvozuje malé nebo velké E.
g, GRacionální číslo s exponentem nebo bez něj (podle absolutní hodnoty čísla). Neobsahuje desetinnou tečku, pokud nemá desetinnou část.
cJeden znak.
s
#include <stdio.h>
 
int main(void)
{
    char *COPYRIGHT = "(C)";
    int ROK = 2003;
 
    printf("%i %u %o %x %X %f %e %G\n", -5, -5, 200, 200, 200, 10.0,
           10.0, 10.0);
    printf("%s %i\n", COPYRIGHT, ROK);
    return 0;
}

  • spse/pm1/datove-typy.1610403543.txt.gz
  • Poslední úprava: 2024/07/07 16:48
  • (upraveno mimo DokuWiki)