IEEE 754

IEEE je organizace v USA která vymýšlí různé standardy a jeden z těchto standardů je na uložení desetinného čísla pomocí techniky plovoucí desetinné čárky s názvem IEEE 754. Tento způsob vyjádření desetinných čísel s používá v každém moderním počítači.

Jak to funguje?

Každé desetinné číslo lze reprezentovat tímto vzorečkem:

Desetinné číslo = mantisa * 10exponent

Například:

1,2345 = 12345 * 10-4

Hodnota desetinného čísla IEEE 754 se ukládá buď do 32 nebo 64 bitů a je rozdělena na další 3 hodnoty: znaménko, exponent a mantisa. Na obrázku níže je ukázka tohoto rozdělení na 64 bitech.

  • První bit je znaménko (ano, z toho plyne negativní a pozitivní nula, viz. níže)
  • Dalších 11 bitů je exponent
  • Zbylých 52 bitů je mantisa

Podivné hodnoty, se kterými IEEE 754 počítá

Kladná a záporná nula

První bit je znaménko, z toho plyne kladná a záporná nula.

Lidé z IEEE dospěli k závěru, že je jednodušší vymyslet standard, ve kterém je kladná/záporná nějak zahrnuta (a ignorována), než vymýšlet variantu dvojkového doplňku fungujícího pro desetinná čísla.

Kladné a záporné nekonečno

IEEE 754 obsahuje reprezentaci kladného nekonečna +∞ a záporného nekonečna -∞ a určuje, jak se s těmito hodnotami má nakládat při výpočtech s ostatními hodnotami.

Kladné a záporné NaN

NaN znamená “Not a Number”, jinými slovy: “Toto není platné číslo”.

Tato hodnota reprezentuje nesmysl, který dokonce může být kladný nebo záporný. Tuto hodnotu lze získat například při dělení nulou.