gyak1
Post on 07-Apr-2015
74 Views
Preview:
TRANSCRIPT
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 1
1
1. Számrendszerek
1.1. Alapfogalmak
444 3444 21KK
áses ábrázolhelyiérték
m-n-n
n
mi
ii h.hhhhh rhN −
−=
⇒= ∑ 1011
r radix, alap
hi helyiérték ( { }1r,0,1,ih −∈ K )
. „r-edes pont” (tizedes, kettedes, stb.)
ha n és m rögzített, fixpontos ábrázolás
1.2. Horner-szabály polinomokra
Hagyományosan, egész számokra:
01 hrhrhP(r)N nn +⋅++⋅== K
db szorzás
43421összeadás dbn
Számtani sorozat: ( ) ( ) daadnaanaanaS iin
n
iin =−⋅++⋅
+=+⋅
+== +
=∑ 1000
0
ahol 2
12
1
A fenti esetben a0 = 0, an = n , d = 1 ( ) ( )12
1002
1+⋅=⋅++⋅
+= nnnnSn db szorzás
Horner-szabály:
0)1)2-n)1-nn
1n((h(P(r) hrhrhrhr +⋅+⋅+⋅+⋅−
= K876
K
444444 3444444 21szorzás dbn
444444 3444444 21összeadás dbn
1+(n-1)=n 1 0
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 2
2
1.3. Horner-szabály alkalmazása: DEC→BIN konverzió
(r)NPN = általában
( ){0hr
rNP
r
(r)NP
rN
+==
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
43421
egész a legalacsonyabb helyiérték
( ){1hr
2r
NP
r
(r)
rNP
+=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
alulról a második helyiérték
{nh0
r
(r)
1-nr
NP
+=⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
legmagasabb helyiérték
legyen r = 2, N=13
13:2=6, marad 1 (h0)
6:2=3, marad 0 (h1)
3:2=1, marad 1 (h2)
1:2=0, marad 1 (h3)
c
13 1 h0
6 0 h1
3 1 h2
1 1 h3
0
⇒ (13)10=(1101)2
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 3
3
1.4. Feladatok a Horner szabály alkalmazására
1. feladat Írja fel a következő számokat decimális (10-es) számrendszerben
a. (110101)2 b. (12754)8
Megoldás:
a. 1→1·2+1=3→3·2+0=6→6·2+1=13→13·2+0=26→26·2+1=53
b. 1→1·8+2=10→10·8+7=87→87·8+5=701→701·8+4=5612
2. feladat a. (170)10=( ? )2 b. (170)10=( ? )8
c. (668)10=( ? )8
Megoldás:
a. mod2(170)=0; (170-0)/2=85→mod2(85)=1; (85-1)/2=42→
mod2(42)=0; (42-0)/2=21→mod2(21 )=1; (21-1)/2=10→
mod2(10 )=0; (10-0)/2=5→mod2(5)=1; (5-1)/2=2→mod2(2 )=0;
(2-0)/2=1→1⇒10101010
b. mod8(170)=2; (170-2)/8=21→mod8(21)=5; (21-5)/8=2→2⇒252
vagy (10\101\010)2=252
c. mod8(668)=4; (668-4)/8=83→mod8(83)=3; (83-3)/8=10→
mod8(10)=2; (10-2)/8=1→1⇒1234
3. feladat a. (0,4375)10=( ? )2 b. (0,34)10=( ? )2
Megoldás:
a. 0,4375·2=0,875; [0,875]=0→(0,875-0) ·2=1,75; [1,75]=1→
(1,75-1) ·2=1,5; [1,5]=1→(1,5-1) ·2=1→1⇒0.0111
b. 0,34·2=0,68; [0,68]=0→(0,68-0) ·2=1,36; [1,36]=1→
(1,36-1) ·2=0,72; [0,72]=0→(0,72-0) ·2=1,44→1⇒0.0101
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 4
4
2. Számábrázolási módok bináris számrendszerben
2.1. Előjel - abszolútérték
1 0 0 0 1 0 0 0 1 ≡ -17 { 444 3444 21
előjel abszolút érték
}
444 8444 76
0 0 0 0 1 0 0 0 1 ≡ +17
megfigyelhető:
1. műveletek (+, -, *, /) nehézkesen megvalósíthatók
2. „dupla nulla” probléma
2.2. Komplemens (kettes komplemens)
Alapelv
Egy példa: az úgynevezett tizes komplemens
0, 1, …, 49 → 0, 1, …, 49 (önmaguk)
-50, -49, …, -1 → 50, 51, …, 99 (100-zal vett komplemens)
Megfigyelhető:
1. pozitív számok alakja nem változik
2. negatív szám ábrázolása: abszolút értékének 100-zal vett komplemense
3. külön-külön a pozitív illetve negatív számok tartományán érvényes eredményt ad az úgynevezett „rákövetkezési függvény” (azaz n+1), például
–49 → 51, 51+1=52, 52 ← -48
4. ha az összeadás művelete esetén az eredményből csak a 100-zal vett osztási maradékot
tartjuk meg, akkor „folytonos” az átmenet a negatív számokról a pozitívokra, például
–1 → 99, 99+1=100 ≡ 0 (mod 100), 0 ← 0
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 5
5
5. hasonlóan igaz ez a másik irányra is, például
0 → 0, 0-1=-1 ≡ 99 (mod 100), 99 ← -1
6. N ≡ hnhn-1…h0 → -N ≡ ([9-hn][9-hn-1]…[9-h0])+1
49 ≡ 4190 → [9-4][9-9] + 1 = 51 ≡ -49
Általában, ha az r radixú számrendszerben dolgozunk:
1. választunk egy m modulust, melyre m = rn
2. ábrázolható pozitív számok:
0, 1, …, 12m− (feltéve, hogy m páros)
3. ábrázolható negatív számok:
2m
− , 12m+− , …, -1 →
2m , 1
2m+ , …, m-1
4. összeadás, kivonás eredményei (mod m) érvényesek
Kettes komplemens (r=2)
Legyen n=8 (1byte)
c
m = 28 = 256
pozitív számok:
0, 1, …, 126, 127 (00000000)2 (00000001)2 (01111110)2 (01111111)2
negatív számok:
-128, -127, …, -2, -1 (10000000)2 (10000001)2 (11111110)2 (11111111)2
A tizes komplemensnél tett 6. megfigyelésnek megfelelően:
Tetszőleges (pozitív vagy negatív) szám (-1)-szeresének képzési szabálya:
1. megnegáljuk a biteket
2. hozzáadunk 1-et.
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 6
6
Például -(-1) = 1
-(11111111)2 = (00000000)2 + 1 = (00000001)2
1270-128 -1
2551280 127 00000000 01111111 10000000 11111111
1. pozitív számok alapja nem változott
2. negatív szám képzése:
|a| 2n-nel vett komplemense 2n-|a|
3. összeadás egyszerű (mod 2n-re érvényes)
Például -1+2=1
1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 01 0 0 0 0 0 0 0 1
Túlcsordulás! 64+65=-127!
0 1 0 0 0 0 0 00 1 0 0 0 0 0 11 0 0 0 0 0 0 1
4. átalakítás
-100 → 1-es komplemens + 1
0 1 1 0 0 1 0 0 -100 1 0 0 1 1 0 1 1 1-es komplemens 1 0 0 1 1 1 0 0 -100 2-es komplemens
Ellenőrzés: -100+100=0
1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 01 0 0 0 0 0 0 0 0
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 7
7
2.3. Kettes komplemens
1. feladat a. 4 biten bináris kettes komplemensnél mi az ábrázolható
számtartomány?
b. Ilyen számábrázolásnál mi lesz a 4+5 eredménye?
c. Végezze el a következő műveleteket 8 bites kettes komplemens
ábrázolás esetén:
25+30 25-30 30-25
Megoldás:
a. m = 24 = 16; (m/2)-1 = 7
-8, -7, ...., -1, 0, 1, ...., 7
1000 1001 ...., 1111 0000 0001 ...., 0111 b. 4 → 0100
+5 → + 0101= -7 ← 1001 ← Túlcsordulás!
c. 25 → 00011001 25 → 00011001
+30 → + 00011110= -30 → + 11100010= 55 → 00110111 -5 → 11111011
30 → 00011110 -25 → + 11100111= 5 → 00000101
2. feladat Ábrázolja 8+8 biten a következő számokat:
a. (73,4)10=( ? )2
b. (-0,375)10=( ? )2
Megoldás:
a.
73 1 0,4 0, = 01001001.01100110 36 0 0,8 0 0,8-0=0,8 18 0 1,6 1 1,6-1=0,6
9 1 1,2 1 1,2-1=0,2 4 0 0,4 0 2 0 0,8 0 1 1 1,6 1 0 1,2 1
0,4 0
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 8
8
b.
0,375 0, N= 00000000.01100000 0,75 0 NI= 11111111.10011111
1,5 1 1 1,0 1 NK= 11111111.10100000 = -0,375
3. BCD számábrázolás
BCD : Binary Coded Decimal vagyis binárisan kódolt decimális szám, a decimális szám
egyes számjegyeit külön-külön 4 biten ábrázoljuk kettes számrendszerben.
Adja meg BCD formátumban az alábbi számokat!
(6)10 = (?)BCD, (25)10 = (?)BCD, (1425)10 = (?)BCD, (125)8 = (?)BCD, (AF)16 = (?)BCD
Megoldás:
(6)10 = (0110)BCD
(25)10 = (0010 0101)BCD
(1425)10 = (0001 0100 0010 0101)BCD
(125)8 = (85)10 = (1000 0101)BCD
(AF)16 = (175)10 = (0001 0111 0101)BCD
4. Lebegőpontos számábrázolás – IEEE 754, 32 bit
Előjel bit
Exponens bitek: 8 bit, 127-es többletkódban
Mantissza 23 bit, normalizált értéket tartalmazza, az 1. nélkül
(-1)sign x 2(exponent-127) x 1.mantissa.
formátum szám exponens 1.mantissza Decimális érték
IEEE 754 32-bit
7DA6B69Bh 11111011b (251)
1.01001101011011010011011b (1.302447676659)
2.77000e+37
top related