információs technológia
IEEE 32-bites normalizált lebegőpontos rendszer
Számrendszerek alapjai
IEEE-32 bites normalizált lebegőpontos rendszer
1. Exponent tartománya: V_E [min, max]
Az IEEE-32 bites lebegőpontos formátumban az exponens VE tartományát úgy határozzuk meg, hogy Excess-127 eltolást alkalmazunk
Exponens mező értéke (e) | Valós exponens (V_E) |
e=0 | VE=−126 (denormalizált számok) |
e=1 | VE=−126+1=−125 |
e=127 | VE = 0 |
e=254 | VE=127 |
e=255 | Speciális értékek: NaN, ±∞ |
A speciális exponens értékek az alábbiakat jelölik:
Exponent (e) | Mantissza (fraction) | Előjel (S) | Ábrázolt érték |
e=0 | m=0 | 0/1 | +0 vagy −0 |
e=0 | m≠0 | 0/1 | Denormalizált szám |
e=255 | m=0 | 0 | =+∞ |
e=255 | m=0 | 1 | −∞ |
e=255 | m≠0 | X | NaN (Nem szám) |
Matematikai műveletek speciális értékekkel
Végtelen szabályok:
(+∞)+(+7) = +∞
(+∞) x (-2) = -∞
Érvénytelen műveletek
(+∞) x0 =NaN
0/0 = NaN
√-1 = NaN
NaN esetén
Exponens (e=255) és a mantissza nem nulla
Pozitív végtelen (+∞)
Exponens (e=255) és a mantissza 0, előjel bit S=0
Negatív végtelen (-∞)
Exponens (e=255) és a mantissza 0, előjel bit S=1
1. feladat
Adott egy 32 bites lebegőpontos szám:
11111111100000000000000000000000
Mi a szám ábrázolt értéke?
Megoldás:
Sign bit 1 -> a szám negatív
Exponent: minden bit 1 -> speciális érték (végtelen vagy NaN)
Mantissza: minden bit 0
Ha az exponent 255 és a mantissza minden bitje 0, akkor a szám végtelen. A sign bit alapján minusz végtelen.
2. feladat
Feladat:
Milyen értéket ad az alábbi művelet IEEE 754 szerint?
(+∞) x0
−∞ + 5
Megoldás: ha végtelen értéket szorzunk nullával, az eredmény nem definiált a matematikai szabályok szerint. Az IEEE 754 szabvány ezt az értéket NaN-nak jelöli
Ha negatív értékhez hozzáadunk bármilyen véges számot, az eredmény továbbra is negatív végtelen lesz