180 likes | 419 Views
Számábrázolás. Számábrázolás alapjai. a digitális számítógépek a kettes számrend-szert használják a számábrázoláshoz egy helyiértéket 1 biten tárolnak (2 érték) egy bájton 2 8 (256) különböző, előjel nélküli szám ábrázolható (0-255-ig)
E N D
Számábrázolás alapjai • a digitális számítógépek a kettes számrend-szert használják a számábrázoláshoz • egy helyiértéket 1 biten tárolnak (2 érték) • egy bájton 28 (256) különböző, előjel nélküli szám ábrázolható (0-255-ig) • két bájton 216 (65536) különböző egész szám ábrázolható (0-65535-ig) • csak pozitív egész számokra használható
Számábrázolási módszerek • egész számok esetében általában előre rögzítik az ábrázolásra használt bájtok számát • ezt nevezzük fixpontos ábrázolásnak • negatív egész számok esetében több lehetőségünk van az ábrázolásra: • előjelbites ábrázolás • kettes komplemens
Előjelbites számábrázolás • a legmagasabb helyiértékű szám az előjelet jelenti • nem vesz részt a számképzésben • egy bájton ábrázolható tartomány: -127-127 • probléma: 0-át kétféleképpen ábrázolhatjuk (00000002 és 100000002) • ez a számolás automatizálását nehezíti Pl.: 010110112 = 9110 110110112 = -9110
Kettes komplemens • két lépésben képezhetjük egy szám kettes komplemensét: • minden bitet ellenkezőjére váltunk (egyes komplemens) • az ellenkezőre váltott számhoz hozzáadunk 1-et (a kettes számrendszerben történő összeadás szabályai szerint) • előnye, hogy a 0-át csak egyféleképpen tároljuk (000000002) • ábrázolható tartomány 1 bájton: -128-127, 2 bájton –32768-32767 • a kivonás egyszerűvé válik: a kivonandó számhoz hozzáadjuk a kettes • komplemensét
Kettes komplemes (folyt.) • Példa: • kiindulási szám: 010110112 (= 9110) • minden bitet ellenkezőre váltunk: 101001002 • hozzáadunk 1-et: 101001012 (= -9110)
Összeadás kettes számrendszerben • Összeadási lehetőségek: 0 1 0 1 1 +0 + 0 + 1 + 1 1 0 1 1 10 +1 11
Kivonás kettes számrendszerben • Példa: 155 100110112 - 72 010010002 • A kivonandó (72) számot negatívvá alakítjuk (kettes komplemenssel): 10110111 + 1 10111000
Kivonás kettes számrendszerben (folyt.) • Az eredeti számot (155) és a kettes komplemest (-72) összeadjuk: (155 - -72 = 155+72) 10011011 + 10111000 101010011 • Ha az összeadás eredménye 9 jegyű lesz, akkor a felsőt le kell húzni, mivel az túlcsordulásnak számít (csak 8 biten ábrázolunk)
Lebegőpontos ábrázolás • törtek ábrázolására • 10-es számrendszerben két részre osztható a tört: • egészrész • tizedesrész • a kettőt a tizedesvessző választja el • kettes számrendszerben a törteket normál alakban írjuk fel
Normál alak • tízes számrendszerben: 417=4,7*102 • kettes számrendszerben: 111:000001=0:111000001*211 • az egész és a törtrész közötti jelet kettedespontnak hívjuk • képzése hasonlóan történik, mint a tízes számrendszerben • a hatványt is kettes számrendszerben kell felírni (211=23)
Lebegőpontos szám képzésenormál alakból • Kiindulás: normál alak (0:111000001*211) • a feleslegesen tárolandó számjegyek lehúzása: 0:111000001*211 • meg kell állapítani, hogy a normál alak képzésénél merre vittük a kettedespontot • balra → 0 • jobbra → 1 • leírjuk egymás után a megmaradt számot, majd a balra/jobbra értékét, végül a kitevőt: • 11000001011
Lebegőpontosan tárolt szám részei • 11000001 0 11 • mantissza karakterisztika • (számalak) (előjel+kitevő)
Karakter és betű ábrázolása • 1 bájton nemcsak számokat, hanem 256 különböző jelet is tárolhatunk • PC-knél elterjedt az amerikai szabványos kódrendszer (ASCII) • ez kezdetben 7 bitet használt, ami 128 jelre volt elegendő • később további jelekre volt szükség (pl.: nemzeti karakterek), így 8 bitesre (1 byte) bővült
ASCII kódrendszer csoportjai • vezérlőkarakterek • írásjelek • számjegyek növekvő sorrendben • angol ABC nagybetűi • angol ABC kisbetűi • néhány ékezetes karakter • grafikus jelek
ASCII kódrendszer jellemzői • Ez a verzió nincs felkészítve minden nemzet nyelvére, ezért különböző kódtáblázatokat hoztak létre (magyar: 852-es kódtábla – Latin II.) • A kódtáblák első 128 karaktere megegyezik, eltérés a felső 128 karakterben található
Unicode • különböző írásrendszerek egységes használatát teszi lehetővé • 16 biten (2 bájton) tárolja a jeleket, amibe minden nemzeti karakter belefér • ügyeltek arra, hogy az ASCII kóddal készült szöveg Unicode-ban is olvasható legyen • legelterjedtebb kódolási verziója az UTF-8 • 1991-től kezdték használni