Remélem itt ismeri valaki a lebegőpontos számábrázolást..
A feladat a következő:
Ábrázolja a -96,4 decimális értéket 4 bájton lebegőpontosan 16 - os alapra normáltan 7 bites karakterisztikával! A 4 bájt tartalmát hexadecimálisan adja meg.
A számokat 2 - es alappal úgy gondolom, hogy tudom ábrázolni, de onnan valahogy nem nagyon megy az átalakítás 16 - osra. Azt tudom, hogy a kettes és a 16 - os közötti átváltást úgy végezhetem el, hogy az egész rész és a tört rész közötti ponttól jobbra is 4 - esével és balra is 4 - esével csoportosítom a számokat, valamint ha a végeken szükséges, akkor kiegészítem 0 - kal, hogy az egyes szektorokban 4-4 karakter legyen. De ha a lebegőpontosnál ott van az a 0 vagy 1 is, ami a páros vagy páratlan szánértéket határozza meg, akkor hogy kell csinálni? És a mantissza és a karakterisztika közötti ponttól kell a 4 - es csoportokat megalkotni?
Ezzel a 4 bájttal nekem egy olyan ábrázolást kell csinálni, amelyiknek az első bit - jén a negatív - pozitív mivoltot, a 2-8 bit - jén a karakterisztikát, és a 9-32 bit - jén a mantisszát kell jelölnöm. (2 - esben)
A 96,4 - re nekem egy olyan jött ki átváltva 2 - esre, hogy:
11000.011001100110011001100110
Ebből állapítom meg ugye a karakterisztikát, amit úgy kapok meg, hogy átszámolom a 10 - es alapból azt a számot kettes alapra, amennyivel a tört-egész közötti pontot jobbra vagy balra toltam el ahhoz, hogy 0,1....... legyen. (tudom, hogy ezt miért kell pont így, a mantissza miatt). Ez a szám ugye a 7, amit ha 2 - es alapra írok át, 111.
Ekkor kell tennem egy olyan lépést, hogy a ''1000000'' 2 (7 bit miatt) 2 - es alapú számhoz hozzáadom ezt a ''111'' 2 - es alapút, így kapom meg a karakterisztikát, k = 1000111.
A paritás bit az most ''1'' lesz, mert 0 = pozitív, 1 = negatív.
A mantissza pedig az áthelyezett törtpont után kapott szám, és ebből az első két számot, a törtvonal előtti és utáni számot nem kell jelölnöm, mert az egyértelmű, az mindig annyi. Remélem jó a végeredmény, ponttal jelölöm az ''1''+ ''2-8'' + ''9-32'' - es szektorok közötti helyeket:
1.1000111.100000110011001100110011
Remélem tudtok ilyet számolni, és valaki lesz olyan kedves, és utánam számol
És az átváltással kapcsolatban is tud nekem segíteni.
Gondolom azzal, hogy 2 - es alappal számoltam a 16 - os helyett, és utána akarom átváltani, az nem baj az ilyen számolásoknál...
=== Szatocs ===