Základní pojmy
Při programování je třeba si uvědomit, že různé datové typy mají také různé rozsahy hodnot, tzn. různé dolní a horní meze. Při překročení rozsahu během aritmetických výpočtů mohou nastat různé problémy. Uvidíme, že reálná čísla jsou ukládána jen přibližně, což může mít vliv zejména na přesnost opakovaných výpočtů.
4. Typy dat
4.4. Zobrazení reálných čísel
Reálná čísla nelze obecně v počítači přesně zobrazit, protože paměťový prostor pro jejich zobrazení je omezený (např. 2–4 slova resp. 4–8 bytů). Ze stejných důvodů se nemohou zobrazit ani všechna racionální čísla. Obecně lze zobrazit pouze číslo z určitého intervalu a s jistým maximálním počtem platných číslic, daných délkou zobrazení. Přesně lze zobrazit pouze ta reálná čísla, která lze vyjádřit jako konečnou posloupnost kladných a záporných mocnin čísla 2, přičemž počet těchto mocnin s koeficienty 0 a 1 je menší, než počet bitů rezervovaných pro zobrazení reálného čísla.
Reálné číslo se zobrazuje v tzv. semilogaritmickém tvaru nebo též jako číslo s pohyblivou řádovou čárkou (viz Obrázek 1):
kde:
x ... zobrazované číslo
M ... mantisa v normalizovaném tvaru <0.5,1)
z ... 2
E ... exponent <-128,127>

Obrázek 1: Zobrazení reálného čísla
Mantisa obsahuje číslo v normalizovaném tvaru. Exponent určuje, o kolik míst je třeba posunout řádovou tečku, a to, je-li:
- exponent > 0 (|číslo| > 1), pak vpravo
- exponent < 0 (|číslo| < 1), pak vlevo
Existují různé modifikace tohoto způsobu zobrazení v konkrétním počítači, podstata problému zobrazování zůstává. Počet bitů mantisy a exponentu závisí na typu počítače, např. 16 bitový počítač: mantisa 24 bitů, exponent 8 bitů tj. 32 bitů (4 byte, 2 slova); čísla mají přesnost 6 až 7 platných číslic a rozsah je asi 10-38 až 1038.
Obvykle se pro zobrazení reálného čísla používají 4, 6 a 8 bytů.
Při zobrazení reálného čísla se uvažují 3 vlastnosti zobrazení:
- Největší zobrazitelné číslo
- Nejmenší kladné číslo různé od 0, nebo číslo, které, když je přičteno k 1.0, tuto hodnotu nezmění
- Počet platných dekadických číslic
Pozn.: Přesně lze zobrazit jen taková reálná čísla, jejichž desetinnou část lze vyjádřit jako součet mocnin jedné poloviny. Ostatní čísla se při převodu z desetinného čísla a ve výsledku aritmetické operace zaokrouhlují. Zde může být zdroj velmi nepříjemných chyb.
!!! V žádném případě se nedoporučuje porovnávat dvě reálná nenulová čísla X a Y na rovnost. Tuto úlohu je třeba převést na:
- Porovnání v relaci „větší“ (X > Y), pokud první člen roste, nebo „menší“ (X < Y), pokud první člen klesá
- Požadavek, aby absolutní hodnota rozdílu byla menší než dostatečně malé číslo (abs(X - Y) < Eps)
