ea3_adatabrazolas_pti2014_2015

Download Report

Transcript ea3_adatabrazolas_pti2014_2015

Adatábrázolás
Csernoch Mária
http://www.inf.unideb.hu/~csernochmaria/bev_info/
Adatábrázolás számítógépen
• Az adat gépi formája bitsorozat, tárolásának
alapegysége a 8 bitből álló bájt
• Az adattárolás két módja
– gépi számábrázolás (műveletvégzés)
– kódolt ábrázolás
Számábrázolás
• Fixpontos
–
–
–
–
előjeles abszolút értékes
1-es komplemens
2-es komplemens
többletes
• Lebegőpontos
– 2-es
– 8-as
– 16-os
Előjeles fixpontos számok
• 8 biten ábrázolható különböző szám
– 28 = 256
• Melyek jelentsenek negatív értékeket?
Előjeles abszolút érték
• előjel bit
– legmagasabb helyiértéken (balról az első bit)
• 0: +
• 1: −
• maradék bitek a szám ábrázolására
– bináris
– szám abszolút értéke
• jellemzők
92 1
5 10
0 10 00 111100 1011
10 
 92 1
5 10
0 10 00 111100 10 1
10 
– a nulla kétféleképpen
ábrázolható
51

B9
– a legkisebb szám: −127
legnagyobb
 9–
21
5a10
 92 1
5 10
00 1011 +127
1 10 00 1111szám:
1 10 0 1 1 0 01 1
10 
10 
9

D9
B
1-es komplemens
• előjel bit
– legmagasabb helyiértéken (balról az első bit)
• 0: +
• 1: −
• maradék bitek a szám ábrázolására
– bináris
– pozitív szám
• szám
– negatív szám
• szám −1-szerese (szám negáltja)
• jellemzők
 2– 5a nulla
0 0 0 1 1 0 0ábrázolható
1
10  kétféleképpen
 2– 5a legkisebb
1 1szám:
1 0 0 −127
110
10 
– a legnagyobb szám: +127
25
10

0 0 0 110 0 1
1
25
10

9
11 1 0 0 1 1 0
6
E
2-es komplemens
• előjel bit
– legmagasabb helyiértéken (balról az első bit)
• 0: +
• 1: −
• maradék bitek a szám ábrázolására
– bináris
– pozitív szám
• szám
– negatív szám
• 1-es komplemens
• 1-es komplemens+1
2-es komplemens
 25 10  00011001
 25 10  0001

 | 1001
1
 25 10  11100110
 25 10  1110
 | 0110

E
 25 10  11100111
9
1-es komplemens
6
 25 10  1110
 | 0111

E
1-es komplemens
2-es komplemens
7
2-es komplemens
2-es komplemens
• előjel bit
– legmagasabb helyiértéken (balról az első bit)
• 0: +
• 1: −
• maradék bitek a szám ábrázolására
– bináris
– pozitív szám
• szám
– negatív szám
• 1-es komplemens
• 1-es komplemens+1
• jellemzők
– a nulla egyértelműen ábrázolható
– a legkisebb szám: −128
– a legnagyobb szám: +127
2-es komplemens
• n-bites ábrázolás
– 1 bit: előjel
– (n−1) bit: szám
• adjuk össze a számot (E) az inverzével (Ē)
n 2
n 2
i 0
i 0
E  E   a i  2 i   a i  2 i  2 n 1  1
n 2
E   ai  2
i 0
i
E2
n 1
n 2
 1   ai  2 i
i 0
n 2
 E   2 n 1  1   a i  2 i
i 0
Bináris összeadás
3
00 11
6
0 1 10
 2  0 0 10
 3  1 10 1
5
0 10 1
3
00 11
3
00 11
3
11 0 1
 6  10 10
 2  11 1 0
3
5
1 10 1
10 1 1
Bináris összeadás
• bináris összeadás ugyanúgy jegyenként,
átvitellel mint a decimális esetben
• összeadási tábla:
–
–
–
–
0+0=0
0+1=1
1+0=1
1 + 1 = 0, átvitel: 1
• előjelváltás kettes komplemens kódban
+4 = 0100  1011  1100
−4 = 1100  0011  0100
Többletes számábrázolás
• a szám és a többlet összegét ábrázoljuk binárisan
– pozitív szám
– n bites szám esetén a többlet
• legmagasabb helyiértéken 1, a többi 0
• legmagasabb helyiértéken 0, a többi 1
• jellemzők (128 többlet esetén)
– a nulla egyértelműen ábrázolható
– a legnagyobb szám: +127
– legkisebb szám: −128
Feladat
Pozitív szám többletes ábrázolással
 25
0 0 0 1 10 0 1
1 2 8  10 0 0 0 0 0 0
összeadás bináris számrendszerben
10 0 1 10 0 1
12 8
 25
153 10  10011001 2
15 3
összeadás decimális számrendszerben, átváltás
Feladat
Negatív szám többletes ábrázolással
 25
0 0 0 1 10 0 1
128
 25
1 1 10 0 1 1 1
 2 5  0 0 0 1 10 0 1
1 2 8  10 0 0 0 0 0 0
0 1 10 0 1 1 1
10 0 0 0 0 0 0
0 1 10 0 1 1 1
összeadás bináris számrendszerben
kivonás bináris számrendszerben
12 8
 25
103 10  01100111 2
10 3
kivonás decimális számrendszerben, átváltás
Többletes számábrázolás
• a szám és a többlet összegét ábrázoljuk binárisan
– pozitív szám
– m bites szám esetén a többlet általában
• 2m−1
• 2m−1−1
• jellemzők (128 többlet esetén)
– a nulla egyértelműen ábrázolható
– a legnagyobb szám: +127
– legkisebb szám: −128
• megjegyzés
– ez a rendszer azonos a kettes komplemenssel, fordított előjellel
– használata: lebegőpontos számok kitevő részénél
BCD kód
• Binary Coded Decimal
• nem a számot, hanem a számjegyeket
ábrázoljuk
• minden decimális számjegyet négy biten
ábrázolunk
• negatív számok ábrázolása
– 9 vagy 10 komplemens kóddal
6892 10  0110 | 1000 | 1001 | 0010 BC D
BCD
 30110  0000 | 0011 | 0000 | 0001
 30110  1001 | 0110 | 1001 | 1000
9-komplemens
Valós számok ábrázolása
• fixpontos
• lebegőpontos
– számok normalizált alakban
N  M  p E
254 . 25 10  2 . 5425  10 2  0 . 25425  10 3
Valós számok ábrázolása
fixpontos
2n−1
előjel
20
egészrész
(k db)
törtrész
(m db)
bináris pont
(nincs ábrázolva)
• tárolókapacitás, bináris pont helye
– ábrázolandó számok nagysága
– ábrázolás pontossága
– speciális esetek
• ha a bináris pont a tároló jobb szélén van, akkor fixpontos egész
• ha a bináris pont a tároló bal szélén van, akkor fixpontos tört
Lebegőpontos számábrázolás
N  M  p E
karakterisztika
(8 bit)
kitevő előjele
előjel
(1 bit)
(1 bit)
• karakterisztika: hatvány kitevő
• mantissza: szám normalizált értéke
• normalizálás
– egészre normalizálás
– törtre normalizálás
mantissza
(23 bit)
Lebegőpontos számábrázolás
többletes karakterisztikával
• Ábrázoljuk oktális számrendszerben a 148(10
számot!
– előjel bittel kezdve
– a kitevő legyen 1 jegyű (3 bites), 4-többletes
– a törtrész 4 jegyű
148 10  224 8  0 . 224  8 3
0111
 010
 010
 100

0
7
2
2
4
IEEE 754
karakterisztika (E)
(exponent)
előjel (S)
(8 bit)
(1 bit)
mantissza (M)
(23 bit)
hozzáértett vezető bit, bináris pont
(nincs ábrázolva)
•
•
•
•
bináris számrendszerben normalizált
egészre normalizált
karakterisztika: 127 többletes
előjel
– pozitív szám: 0
– negatív szám: 1


N   1  2 E 127  1 .M 
S