Zobrazení čísel v počítači
2. Zobrazení čísel v pohyblivé řádové čárce
2.2. Zobrazení čísel v IEEE 754 v binary32
Zobrazení čísla H10 ve formátu binary32, které nevede na některý ze specifických tvarů popsaných v předchozí kapitole, je popsáno na obrázku níže.

Obr. 6: Schéma převodu
desetinného čísla dle standardu IEEE 754 ve formátu binary32.
Postup převodu v jiných binárních formátech by se lišil ve dvou věcech. První z nich je počet míst u jednotlivých částí zobrazeného čísla.
Dále si na obrázku všimněte, že se zde objevuje nový typ zobrazení celého čísla z desítkové do binární soustavy, který jsme si doposud nepředstavili. Jde o kód s posunutou nulou, který je použitý pro zobrazení exponentu. Před převodem do binární soustavy k exponentu nejprve přičítáme hodnotu, která se liší podle použitého formátu:
- binary32: e = e + 127.
- binary64: e = e + 1023.
- binary128: e = e + 16383.
Proč je užitečné, že se pro převedení
exponentu používá kód s posunutou nulou a nikoli některé ze zobrazení celých čísel uvedených v první kapitole?
Jaký je maximální exponent, který můžeme
v jednotlivých binárních formátech získat?
Příklad
Pokud chcete zobrazit ve formátu s jednonásobnou přesností ve standardu IEEE 754 číslo H10 = 28,125, uděláte to následujícím způsobem.
1. Číslo zapíšete v semilogaritmickém tvaru, což předpokládá určit hodnoty s, e a m:
- Kladné znaménko signalizuje, že s = 010.
- Exponent e určíme tak, aby platilo, že 2e+1> 28,12510 ≤2e. Tudíž e = 410.
- Mantisu m určíme po dosazení ze vztahu 28,125 / 24 = 1,757812510.
Semilogaritmický tvar, který potřebujeme, je tedy následující: 28,12510 = (−1)0 × (1 + 0,7578125) × 24.
2. Na první místo zobrazíte znaménko s = 02.
3. Exponent zobrazíte v kódu s posunutou nulou přičtením čísla 12710.
- 410 + 12710 = 13110.
- Převod na osm míst provedete některým ze způsobů, které již znáte z příslušné kapitoly.
- Výsledný tvar zobrazeného exponentu: 100000112PN.
4. Mantisu si můžete dovolit zapsat ve tvaru 1 + 0,7578125 a následně zobrazit na zbývající počet míst pouze zlomkovou část (nazývanou fraction) za desetinnou čárkou.
- Převod fraction do dvojkové soustavy provedete jedním ze známých způsobů příslušné kapitoly.
- f = 11000012.
- Doplníte na požadovaný počet 23 míst zprava a tudíž: f = 110000100000000000000002.
5. Číslo 28,12510 se v jednonásobném formátu standardu IEEE 754 zobrazí tedy jako: 010000011110000100000000000000002IEEE754
Proč je možné říci, že mantisa vždy
vyjde 1,..., a jaký to má důsledek?
Jestliže se při zobrazování mantisy (resp. její části fraction) vytvoří binární číslo s neukončeným, nebo periodickým rozvojem za řádovou čárkou poskytuje standard IEEE 754 několik možností, jak situaci řešit. Počet míst
pro fraction je ve všech formátech totiž pevně daný. Na nastalou situaci se obvykle reaguje přičtením 1
Přijdete na alternativní možnost zobrazení
mantisy (resp. její části fraction)?