Standard zmiennoprzecinkowy IEEE 754
Norma IEE 754 jest standardem opisującym sposób kodowania i wykonywania operacji na pewnym podzbiorze liczb rzeczywistych. W istocie format ten służy do przedstawiania podzbioru liczb wymiernych. Dzięki niemu możemy wykonywać obliczenia na liczbach, które posiadają część ułamkową. W komputerach liczby całkowite są reprezentowane przez inny format niż ten służący do przedstawiania liczb rzeczywistych.
Reprezentacja liczb w standardzie IEEE 754
W standardzie IEEE 754 określono trzy formaty stałoprzecinkowe dwójkowe (binarne), jeden stałoprzecinkowy format dziesiętny BCD, oraz cztery formaty zmiennoprzecinkowe. We wszystkich formatach zmiennoprzecinkowych wykładnik jest reprezentowany w kodzie z obciążeniem (biased B). Jeżeli liczba bitów wykładnika (cechy) wynosi e, to obciążenie (zwane też przemieszczeniem) wynosi
Na przykład dla
mamy
Rozpatrzmy dokładniej format zwykły o pojedynczej precyzji.
znak |
cecha |
mantysa |
W formacie tym:
całkowita liczba bitów wynosi 32,
liczba bitów cechy
liczba bitów mantysy
Wartością liczby znormalizowanej jest
Ponieważ w formacie pojedynczej precyzji obciążenie
więc możemy ten wzór zapisać jako
Przykład
Dany jest kod liczby w formacie pojedynczej precyzji
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Oblicz wartość liczbową tego kodu.
Rozwiązanie
Zatem
Odp. Wartością liczbowa podanego kodu jest 0,171875.
Poniżej jest tabelka opisujące podstawowe obiekty standardu IEEE 754 (liczby zwykłe (znormalizowane), liczby nie znormalizowane (zdenormalizowane), zera, nieskończoności oraz kody które nie odpowiadają żadnym liczbom, tzw. NaNs (od Not Numbers - nie liczby).
Typ |
Cecha |
Mantysa |
Zera (±0) |
0 |
0 |
Liczba znormalizowana |
|
Dowolna |
Liczba zdenormalizowana |
0 |
≠0 |
±∞ |
255 |
0 |
NaNs (Not Numbers) |
255 |
≠0 |