információs technológia
Az IEEE 754 szabvány szerinti -13.75 lebegőpontos ábrázolás részletes bemutatása
Számrendszerek alapjai
Feladat
Adja meg a következő decimális szám bináris mintázatát 32-bites lebegőpontos rendszerben (Excess-128 kódolással, ha m=p=24, e=8, rb= re=2): –13.75, Melyik tanult szabványos rendszer ez?
A feladat a -13.75 decimális szám 32-bites lebegőpontos formátumban történő ábrázolása az IEEE 754 szabvány alapján.
m=p=24: Mantissza (M): a mantissza 24 biten kerül tárolásra, ami a szám bináris normálalakjának 1 utáni része. A normálalak implicit tartalmaz egy 1. részt, így az ábrázolt mantissza mindig 1.xxxxxx-ként van tárolva
e=8: kitevő. A kitevő 8 biten kerül tárolásra. Az Excess-128 kódolás biztosítja, hogy minden kitevő pozitívként legyen tárolva.
rb=re=2: alap. Rb és re az alap a lebegőpontos ábrázolásban:
re: a kitevőhoz használt alap, azaz 2^e
rb: a számrendszer alapba (bináris rendszer esetén 2)
1. Mi az a 32-bites lebegőpontos rendszer?
Az IEEE 754 szabvány 32-bitben három részt határoz meg:
- Előjel (S): 1 bit. Jelöli, hogy a szám pozitív (0) vagy negatív (1).
- Kitevő (E): 8 bit. Meghatározza a szám helyzetét a normálalakban.
- Mantissza (M): 23 bit. A szám pontos bináris értékét adja a normálalak törtrészeként.
2. Lépések a -13.75 ábrázolásához
Előjel (S):
– a szám negatív, ezért az előjel bitje = 1
A szám bináris formája
1. Egész rész átváltása binárisra:

13/2 =6 (maradt az 1)
6/2 = 3 (maradt a 0)
3/2 = 1 (maradt az 1)
1/2 = 0 (maradt az 1)
A maradékok fordított sorrendben: 1101
Ellenőrzés: 1102 = 1×2^3 + 1×2^2 + 0x2^1 + 1×2^0 = 8+4+0+1 = 13
2. Törtrész átváltása binárisra:

A törtrész binárisra váltásához az alábbi módszert használjuk:
- Szorozzuk meg a törtrészt 2-vel.
- Jegyezzük fel az egész részt (0 vagy 1).
- Ismételjük addig, amíg a törtrész 0 lesz, vagy elérjük a szükséges pontosságot.
Ellenőrzés: 1x 2^-1 + 1×2^-2 = 0,5+0,25 = 0,75
3. A teljes bináris szám:

3. Normálalakra hozás
A bináris számot normálalakba írjuk. A normálalak lényege, hogy a számot úgy alakítjuk át, hogy az egész rész mindig 1 legyen, és ezt egy 2^e kitevővel korrigáljuk. Ez a lebegőpontos ábrázolás alapja.
A számot úgy alakítjuk át, hogy:
- Az egész rész 1 legyen (az 1 az egész szám első számjegye).
- Az összes többi számjegy (egész és törtrész) a törtrészbe kerül.
Az átalakítást a 2^e kitevővel korrigáljuk, amely megadja, hogy hányszor kell eltolni a tizedespontot balra vagy jobbra.
Az 1101.11 számot addig toljuk balra, amíg az első számjegy 1 nem lesz.
Az eredeti bináris szám: 1101.11
A tizedespont 3 helyet mozdult balra: 1,10111
A kitevő ezért: e=3
Az átalakított szám normálalakban: 1101.11=1.10111×2^3
4. Mantissza (M)
A mantissza a normálalakban szereplő szám törtrésze (az 1 után következő számjegyek). Az 1-et nem tároljuk, mert implicit része a lebegőpontos formátumnak.
A mantissza binárisan:
M = 10111
Ellenőrzés: 1.10111×2^3 = 1101.11
Az 1.10111 binárisan 1+0,5+0,125+0,0625 = 1,6875. Ezt megszorozzuk 2^3-mal: 1,6875*8=13.75
5. Kitevő (E) Excess-128 kódolással
1. valódi kitevő: e=3
2. Excess-128 kitevő: E=e+128 = 3+128 = 131
3. Binárisan: 131(10) = 10000011(2)
6. Bitmintázat összehasonlítása
Az IEEE 754 formátum szerinti bitmintázat: S | E | M
S=1 (negatív szám)
E=10000011 (kitevő Excess-128 kódolásban)
M=10111000000000000000000 (mantissza 23 biten)
Végső bitmintázat: 1 100000 11 10111000000000000000000
Ellenőrzés:
S = 1 => negatív szám
E = 10000011(2) = 131. Excess-128-ból való kivonás: e=E128 = 131-128 = 3
M = 10111000000000000000000 hozzáadjuk az implicit 1-et: 1.10111
Normálalak: 1.10111×2^3 binárisan: 1101.11
Visszaalakítva decimálisra:
Egész rész: 1101 = 13
Törtrész: 0.11 = 0,75
Összeg: -13.75