1 / 21

Számábrázolás

Számábrázolás. Fixpontos, lebegőpontos. 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ű

emelda
Télécharger la présentation

Számábrázolás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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,00010110012 = 0,1011001˙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: 011001000..

  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,00010110012 = 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: 011001000.. • 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. 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-1 - 1 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: 10011000.. • Mivel a karakterisztikát 8 biten ábrázoljuk, ezért d = 12710 = 111111112. 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.

More Related