8.0 Implicitní
    Implicitní konverze (probíhá sama) vypadá asi takto :
    Pokud násobíte třeba int * double, výsledek se zaokrouhlí
    na double. Tato konverze se nějak nevyužívá, jen jsem vás
    chtěl upozornit, že něco takového existuje ...

8.1 Explicitní
    To je konverze, kterou volá programátor potřebuje.
    Syntakticky to vypadá takto :


promenna = (typ_na_ktery_se_konvertuje)jina_promenna;
// místo jina_promenna může být aritmetický výraz, makro, l-hodnota ...
A teď příklad z praktického života :

int i;
double d;

i = (int)d;
// d se zaokrouhlilo na int.

d = (double)((int)(d * 100.0)) / 100.0;
// d se zaokrouhlilo na 2 desetinná čísla
// dáme příklad : d = 3.1415926
// v prvním kroku se vynásobí stem : 314.15926
// potom se zaokrouhlí (převedení na int = odříznutí des. části) : 314
// potom se převede zpět na double : 314.0
// a vydělí stem : d = 3.14

i = (int)(d + 0.5);
// tohle zaokrouhlí d a výsledk dá do i
// (pokud je des. část d větší než 0.5,
// výsledek vyjde o jedničku větší a desetinná část se uřízne)
Možná (snad) jste to pochopili. Když na to zapomenete, může vás to potrápit :

float f;
int i;

i = 1;
f = i / 2;

printf("%f \n", f);
Tohle vytiskne nulu ! Protože integerovsky jedna polovina = nula a až potom se to převede na float. Správně by to bylo :

float f;
int i;

i = 1;
f = (float)i / 2;

printf("%f \n", f);
A pak už to bude tisknout "0.5" ! Halelujah ! Tady mě nic na cvičení nenapadá. Zkuste napsat makra, zaokrouhlující dolů, nahoru a zaokrouhlující (větší než 0.5 nahoru, jinak dolů) -tHE SWINe-
Zpátky