Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1
A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant Bit 1 0 1 1 Bináris pont A legnagyobb ábrázolható pozitív szám = 2 n -1 Ha az MSB az előjel: 0 = pozitív, 1 = negatív, akkor A legnagyobb ábrázolható pozitív szám = 2 n-1-1 A legnagyobb ábrázolható negatív szám = Least Significant Bit 2 n-1 IRA 5/2
Decimális számok bináris ábrázolása 1. pl. + 47 0 1 1 1 10 47 1 23 1 11 1 5 1 2 0 1 0 0 1 1 A szám 2-vel osztása, majd a maradék leírása IRA 5/3
Decimális számok bináris ábrázolása 2 pl. - 47 0 1 1 1 10 0 0 1 1 47 1 23 1 11 1 5 1 2 0 1 MSB= előjel Előjeles, abszolutértékes 1 0 1 0 1 1 1 1 negatív 1 pozitív 0 A szám 2-vel osztása, majd a maradék leírása IRA 5/4
Negatív szám (kettes) komplemens ábrázolása + 47 0 0 1 0 1 1 1 1 Egyes komplemens (kiegészítő) 47 1 1 0 1 0 0 0 0 Kettes komplemens (kiegészítő) - 47 1 1 0 1 0 0 0 1 IRA 5/5
Területek bináris felosztása (felezéssel) IRA 5/6
Az informatikában használt számrendszerek Bináris (kettes) R= 2 m i = max. R-1 (0-1) Oktális (nyolcas) R= 8 m i = max. R-1 (0-7) Hexadecimális (tizenhatos) R= 16 m i = max. R-1 (0-15) 0 =0,.. 9=9, 10=A, 11=B, 12=C, 13=D, 14=E, 15=F oktális bináris 3 2 5 o 1 1 0 1 0 1 0 1 hexadecimális D 5 H IRA 5/7
Bináris tártartalom megjelenítése hexadecimálisan IRA 5/8
Extended Binary Coded Decimal Interchange Code (1950-) IRA 5/9
American Standard Code for Information Interchange (1963-) IRA 5/10
8 bites ASCII Hasznos oldalak: www.wikipedia.org www.ask.com IRA 5/11
Unicode = a (tetszőleges) szövegek nemzetközi szabványa (1991-) Kód rendszerek: UTF-7, UTF-8, CESU-8, UTF-16/UCS-2 UTF-32/UCS-4, UTF-EBCDIC, SCSU Punycode, GB18030 Példa: kód karakter UTF-16 kód kép 122 (hex 7A) kis Z (latin) 007A z 27700 (hex 6C34) víz (kínai) 6C34 水 119070 (hex 1D11E) zenei G D834 DD1E IRA 5/12
Számok ábrázolása helyértékes rendszerben Szám = ± m * R ± k pl.: 3141.5 = 3.1415 * 10 3 normalizált alak R = számrendszer alapszáma ( Radix) m = mantissza k = kitevő (karakterisztika) Szám = m 7 *R 7 +.. m 7 m 6 m 5 m 4 m 3 +m 0 *R 0 = m 2 m 1 m 0 8 7 6 5 4 3 2 1 n-1 mi *R i i=0 IRA 5/13
Egész számok bináris ábrázolása 2 n-1 1 1 0 1 0 n 2 0 1 0 1 1 LSB MSB Bináris pont A legnagyobb ábrázolható pozitív szám = 2 n -1 Ha az MSB az előjel: 0 = pozitív, 1 = negatív, akkor A legnagyobb ábrázolható pozitív szám = 2 n-1-1 A legnagyobb ábrázolható negatív szám = 2 n-1 IRA 5/14
Decimális törtek bináris lebegőpontos ábrázolása Az ábrázolás lépései: 1. A decimális szám egész részének binárissá alakítása 2. A decimális szám tört részének bináris törtté alakítása 3. A bináris tört normalizálása, azaz a bináris pont elmozgatása az első bináris 1 elé ( 0.5 és 1 közé normalizálás, lebegő pont ). 4. A bináris kitevő ( karakterisztika ) többletes, vagyis eltolásos ábrázolása (a többlet értéke a számábrázolási hossztól függ: 127 short real, 1023 long real, 16 383 temporal real ) 5. A bináris tört ( mantissza ) MSB-jének elhagyásával ( implicit MSB ) a bináris tört ábrázolása 6. A processzor típusától függően a bitsorozat little-endian vagy big-endian ábrázolása. IRA 5/15
Decimális törtek bináris ábrázolása Szám = ± m * R ± k 1 2 3 4 4 1 3 4 2 IRA 5/16
Karakterisztika ábrázolási lehetőségek Abszolutértékes +x/2 -x/2 2-es komplemens -x/2 x x Előjel MSB Negatív 1, pozitív 0 MSB Negatív 1, pozitív 0 Többletes, (eltolásos) +x/2 x +x/2 -x/2 MSB Pozitív 1, negatív 0 IRA 5/17
DCBA H a bájt szervezésű tárban big-endian Cím Tartalom 00000 DC 00001 BA IBM 370, PDP-10, Motorola, Angol internet cím, pl: uk.ac.bris.pys.as, magyar (japán) dátum: év, hónap, nap 2005.10. 9. little-endian Cím Tartalom 00000 BA 00001 DC PDP-11, VAX, Intel, Internet cím pl: mobil.nik.bmf.hu európai dátum: dd.mm.yy 9.10.2005. middle-endian Cím Tartalom 00000 00001 CD AB amerikai dátum: mm/dd/yy 10/9/2005 IRA 5/18
Az IEEE számábrázolási szabvány kialakulása IRA 5/19
Az IEEE számábrázolás adattípusai Ábrázolható tartomány ~ -32.768 <= X<= +32.767-2*10 9 <= X<= +2*10 9-9*10 18 <= X<= + 9*10 18-99 999 <= X<= +99. 999 (18 számjegy) 8.43*10-37 <= X<= 3.37*10 38 4.19*10-307 <= X<= 1.67*10 308 3.4*10-4932 <= X<= 1.2*10 4932 IRA 5/20
Kérdések: - Mennyi a decimális értéke a kettes komplemensként értelmezett és hexadecimális ábrázolt FF és 80 számoknak? - Hogyan ábrázolhatjuk binárisan, 2 bájtos szóban a tízes számrendszerben megadott +7.75 decimális számot? Az ábrázolás során a mantisszát az alacsonyabb helyiértéku bájt tartalmazza, az előjelet az MSB, a karakterisztikát pedig az MSB-t követo 7 bit ábrázolja 63 többletes formában. A bináris szám normalizálását 1 és 2 közé végezzük. IRA 5/21