Fixpontos számábrázolás
A fixpontos ábrázolási módoknál a törtpont (tizedesvessző, tizedespont, kettedespont stb.) helye rögzített. Többségében egész számok tárolására használják, így a törtpont az ábrázolt szám végén van. Az egy bájton tárolt bináris számírásnak könnyen belátható korlátjai vannak. A számítógépen a fixpontos számokat általában két bájton, vagy négy bájton ábrázolják, azaz egy szám hossza 16 vagy 32 bit. De a negatív számok ábrázolásáról is gondoskodnunk kell. Erre több lehetőség is kínálkozik.
Tartalomjegyzék
Ábrázolás[szerkesztés]
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
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.
Előjelbit alkalmazása[szerkesztés]
A szám első bitje felhasználható előjelbitnek. Ennek az értéke azt jelzi, hogy a szám pozitív vagy negatív (a legelterjedtebb értelmezés szerint ha ez a bit 0, akkor a szám pozitív, ha 1, akkor negatív).
Kettes komplementerképzés módszere[szerkesztés]
Fontos szempont, hogy a műveletvégzés minél egyszerűbb legyen, ezért olyan formát célszerűbb választani, ahol a kivonás összeadással helyettesíthető. Ugyanis a szorzás összeadások sorozatára, az osztás pedig kivonások sorozatára vezethető vissza. Ha a kivonást sikerül összeadásra visszavezetni, akkor tulajdonképpen a gépnek csak az összeadás műveletét kell ismernie. A kivonást a túlcsordulási jelenség kihasználásával vezethetjük vissza a számítógépek műveletvégzésénél az összeadásra. A kivonni kívánt szám kettes komplementerét ha hozzáadjuk a kisebbítendőhöz, akkor a túlcsordulás miatt helyes különbséghez jutunk. A kettes komplemens az egyes komplemensnél eggyel nagyobb szám, ahol az egyes komplemens egyszerűen a szám bitenkénti negáltja (amennyiben bináris számról van szó). Egy ábrázolt szám legmagasabb helyi értékű bitje pontosan akkor 1, ha a szám negatív volt (bár nem tárolunk előjelet, ez mégis olyan egyszerűen megállapítható, mint az előjeles ábrázolásnál). A negatív számot úgy kapjuk vissza, hogy a kettes komplemens képzését visszafelé hajtjuk végre, avagy ismét a kettes komplemensét képezzük. Előnye, hogy a kivonást nem kell implementálni, ez egyszerűen negatív szám hozzáadását jelenti. A kettes komplemens előállítása közben túlcsordulás léphet fel, de ekkor a túlcsordult bittel nem foglalkozunk. A kettes komplemens képzése a következő lépésekből áll:
- A szám minden egyesének helyére nullát, minden nullájának helyére egyest írunk, így megkapjuk a szám egyes komplementerét.
- A kapott egyes komplemenshez hozzáadunk egyet. Így megkapjuk a szám kettes komplemensét.
Túlcsordulás (OVERFLOW) fogalma: Ha a műveleti eredmény nem fér el a változónak fenntartott tárterületen, túlcsordulásról beszélünk.
Feszített előjeles ábrázolás[szerkesztés]
Szokás eltolásos vagy alapértékes ábrázolásként is emlegetni. A negatív számokat is úgy tároljuk, mintha pozitívak lennének. Ezt úgy érjük el, hogy minden ábrázolni kívánt számhoz hozzáadunk egy előre rögzített c konstans értéket. A legkisebb ábrázolható szám −c lehet. Az összeadást elvégezve, így mindenképp nem negatív számot kapunk, melynek ábrázolása már ismertetésre került. Előnye, hogy lebegőpontos számításoknál, ha a kitevőt így tároltuk el, az egyes számjegyek valódi helyi értékei könnyen kiszámíthatók. Az előjel megállapításához azonban vissza kell alakítani a számot.
Források[szerkesztés]
Informatika, 1. rész, Bonifert Zsolt, Műszaki Könyvkiadó, 2001