gyak1

8
1. Gyakorlat Digitális technika I. BSC képzés BME-IIT 1 1 1. Számrendszerek 1.1. Alapfogalmak 4 4 4 3 4 4 4 2 1 K K ás es ábrázol helyiérték m - n- n n m i i i h .h h h h h r h N = = 1 0 1 1 r radix, alap h i helyiérték ( { } 1 r , 0,1, i h 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: 0 1 h r h r h P(r) N n n + + + = = K db szorzás 43 42 1 összeadás db n Számtani sorozat: ( ) ( ) d a a d n a a n a a n a S i i n n i i n = + + + = + + = = + = 1 0 0 0 0 ahol 2 1 2 1 A fenti esetben a 0 = 0, a n = n , d = 1 ( ) ( ) 1 2 1 0 0 2 1 + = + + + = n n n n Sn db szorzás Horner-szabály: 0 ) 1 ) 2 - n ) 1 - n n 1 n ((h ( P(r) h r h r h r h r + + + + = K 8 7 6 K 4 4 4 4 4 4 3 4 4 4 4 4 4 2 1 szorzás db n 4 4 4 4 4 4 3 4 4 4 4 4 4 2 1 összeadás db n 1+(n-1)=n 1 0

Transcript of gyak1

Page 1: gyak1

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

Page 2: gyak1

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

Page 3: gyak1

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

Page 4: gyak1

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

Page 5: gyak1

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.

Page 6: gyak1

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

Page 7: gyak1

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

Page 8: gyak1

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