Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Fixpontos, lebegőpontos

Hasonló előadás


Az előadások a következő témára: "Fixpontos, lebegőpontos"— Előadás másolata:

1 Fixpontos, lebegőpontos
Számábrázolás Fixpontos, lebegőpontos

2 Fixpontos ábrázolás A fixpontos számábrázolás lényege, hogy a szám kettes számrendszerbeli számjegyeit egy rögzített nagyságú memóriaterületen tároljuk, a szám helyi értékeinek megfelelően. Ez leggyakrabban: 1 bájt méretű 2 bájt méretű szó melyet WORD-nek nevezünk 3 bájt méretű szó melyet DWORD-nek nevezünk

3 Fixpontos ábrázolás Meghatározott továbbá az is,hogy hol helyezkedik el a szám egész és törtrészét elválasztó jel a tizedesvessző. Minden számítógépnél a tizedespontnak rögzített helye van és a gép a tárolt bitsorozatot ennek megfelelően értelmezi. Egy bájt esetén a számok tartománya 0-tól 255-ig terjed. A 8 bites adatok kezelhetők párban is, egy 16 bitből álló fixpontos szám ként.

4 Fixpontos ábrázolás A fixpontos számokkal a 2-es számrendszerben műveleteket tudunk végezni. Például összeadhatunk két 16 bites számot. Kivonást a következő féleképpen végezhetjük el: a kivonandó 2-es komplemensét hozzáadjuk a kisebbítendőhöz persze ehhez tudni kell azt hogy mi az a komplemens.

5 Kettes komplemens Egy szám kettes komplemensét úgy képezzük, hogy a pozitív számot bitenként invertáljuk, majd hozzáadunk egyet. Például ábrázoljuk a -22 számot kettes komplemens kódban nyolc biten:

6 Fixpontos ábrázolás Ebben a ábrázolási módban a bináris pont helye - ami a bal oldalon található egészeket elválasztja a jobb oldalon lévő törtektől - rögzített, és a számokat többnyire kettes komplemens kódban ábrázolják. A számok ábrázolásának két fontos jellemzője van a felhasználás szempontjából: az ábrázolandó számok nagysága az ábrázolás pontossága

7 Fixpontos ábrázolás A két jellemző az alkalmazott regisztermérettől és bináris pont helyétől függ. Ha a bináris pontot balra toljuk el, akkor a számok ábrázolási tartománya csökken az ábrázolás pontossága nő ha bináris pont a regiszter bal szélén van, akkor a szám fixpontos tört. Ha pedig a bináris pont jobbra mozdul, akkor a számok ábrázolási tartománya nő az ábrázolás pontossága csökken ha a bináris pont a regiszter jobb szélén van, akkor a szám fixpontos egész.

8 Fixpontos ábrázolás Ábrázoljuk például az N = -12,7510 számot egy 32 bites regiszterben, ahol a törtek számára 11 bit van fenntartva. A negatív számokat kettes komplemens kódban tárolják. A számot először kettes számrendszerbe alakítjuk át: -12,7510 = 1100,0112

9 Ezután ábrázoljuk a pozitív számot, majd vesszük a kettes komplemensét.
Az adott formátumban ábrázolt N számot hexadecimálisan is leolvashatjuk. (Vigyázat, ez nem azonos az N hexadecimális értékével!) N: FFFF9A0016

10 Lebegőpontos ábrázolás
Általános formája: f2e Az f egy bináris tört, a mantissza vagy más néven törtrész, az e pedig a kettő hatványkitevője, exponense. Három mező alkot tehát egy lebegőpontos számot: Előjel Exponens Mantissza

11 Lebegőpontos ábrázolás
Mikor egy lebegőpontos számot ábrázolunk számítógépen akkor 2 fixpontos számot, a mantisszát, és az exponenst kell együtt kezelnünk. A lebegőpontos számok pontos tárolási formáját pontosságuk határozza meg. Leggyakrabban az egyszeres, dupla és bővített pontosságú lebegőpontos számokat használjuk.

12 Lebegőpontos ábrázolás
Az előjel mező egyetlen bit. Értéke 1,ha a lebegőpontos szám negatív és 0 ,ha pozitív. Az exponens mező a hatványkitevőt tartalmazza, ennek mérete: 8 bit egyszeres pontosságú számnál 11 bit dupla pontosságú számnál 15 bit bővített pontosságú számnál

13 Lebegőpontos ábrázolás
A mantissza tartalmazza a szám törtrészét. Ennek értéke lehet: Egyszeres pontosságú számnál 23 bit, Dupla pontosságú számnál 52 bit, Bővített pontosságú számnál 64 bit a mérete.

14 Lebegőpontos ábrázolás
A számokat ebben az esetben normalizált alakban használjuk. ahol    N2    az ábrázolandó bináris szám           M      normalizált mantissza           E       karakterisztika A mantisszát leggyakrabban előjeles abszolút értékes formátumban tárolják. A normalizálásra kétféle gyakorlat terjed el.

15 Törtre normalizálás A bináris pontot addig toljuk el, amíg a mantissza értéke 1/2 és 1 közötti értékű nem lesz. Például: N2 = 0, = 0, ˙2-3 Mivel a 2-1 helyértéken lévő bit mindig 1 értékű, ezért a szám eltárolása előtt kiveszik. Ezt implicitbitnek hívják. Így a tárolt mantissza (m) értéke: m:

16 Egészre normalizálás Ez esetben a normalizált mantissza értéke 1 és 2 közé esik. Például: N2 = 0, = 1,011001˙2-4 Itt az egészek helyén áll mindig 1, ezért tárolása szükségtelen. A tárolt mantissza azonos az előzővel: m: Természetesen műveletvégzés előtt mindkét esetben a nem tárolt biteket vissza kell helyezni, hiszen ellenkező esetben hibás eredményt kapnánk.

17 A karakterisztikához egy egész számot adnak hozzá, és így tárolják
A karakterisztikához egy egész számot adnak hozzá, és így tárolják. Ezt a megoldást eltolt vagy ofszet karakterisztikának hívják. Az eltolásra azért van szükség, hogy a karakterisztikát eltoljuk a pozitív számok tartományába, és így nem kell az előjelét ábrázolni. Az eltolás mértékére (d) két megoldás használatos: d = 2k d = 2k-1 ahol k a karakterisztika ábrázolására szánt bitek száma. Így az eltolt karakterisztikát (c) a c = E + d összefüggéssel számíthatjuk ki.

18 Például legyen egy szám karakterisztikája 4, amit nyolc biten ábrázolunk, és használjuk a d = 2k-1 eltolást: A lebegőpontos számok ábrázolásának egységesítésére született az ANSI/IEEE 754 szabvány, amellyet a nagy processzorgyártók (INTEL, MOTOROLA, stb.) is használnak. Ez a szabvány háromféle lebegőpontos formát ír elő: szimpla pontosság  32 bit dupla pontosság     64 bit belső pontosság     80 bit

19 s  a mantissza előjele c  eltolt karakterisztika (d = 2k-1 - 1) m  előjeles abszolút értékes, egészre normalizált mantissza A fenti jelöléseket használva egy lebegőpontos szám értéke a következő képlettel számítható ki: N = (-1)s˙(1,m)˙2c-d

20 Példa ábrázoljuk az N = -12,7510 számot szimpla pontosságú formátumban! Először átalakítjuk kettes számrendszerbe, majd egészre normalizáljuk: N = -12,7510 = -1100,112 = -1,10011˙23 Mivel az N előjele negatív, ezért s = 1. A normalizált mantisszából elveszünk az egészek helyén álló egyest, és nullákkal egészítjük ki az alacsonyabb helyértéken, tehát az ábrázolt mantissza: m: Mivel a karakterisztikát 8 biten ábrázoljuk, ezért d = = A karakterisztikához hozzáadjuk az eltolást:

21 A kiszámított s, c és m értékeket behelyettesíthetjük az adott formátumba:
Az ábrázolt számot hexadecimálisan leolvasva: N: C14C000016 Természetesen ez nem azonos az N szám tizenhatos számrendszerbeli értékével, ezért nem használtunk egyenlőségjelet.


Letölteni ppt "Fixpontos, lebegőpontos"

Hasonló előadás


Google Hirdetések