Click here to load reader

Matematičke osnove računarske tehnike

  • View
    0

  • Download
    0

Embed Size (px)

Text of Matematičke osnove računarske tehnike

Predstavljanje oznaenih brojeva u binarnom sistemu Znak i apsolutna vrednost Komplement dvojke Pokretni zarez
Sabiranje i oduzimanje oznaenih brojeva u komplementu dvojke
Opsezi neoznaenih i oznaenih brojeva
U decimalnom brojnom sistemu negativni brojevi se predstavljaju znakom “-” (pozitivni znakom “+” ili se znak izostavlja) napisanim ispred cifara koje definišu apsolutnu vrednost broja.
U binarnom brojnom sistemu je ovakav nain predstavljanja oznaenih brojeva nemogu, jer raunari mogu da prepoznaju samo dva znaka, a to su “0” i “1”. Samim tim je znakove “-” i “+” potrebno na neki nain predstaviti pomou “0” i ”1”.
Oznaavanje brojeva
Pomou znaka i apsolutne vrednosti
U komplementu dvojke
U pokretnom zarezu
Postupak zapisivanja broja
pozitivan ceo broj se dobija dodavanjem cifre 0 ispred binarnog zapisa koji odgovara apsolutnoj vrednosti broja.
negativan ceo broj se dobija tako što se:
ispred binarnog zapisa apsolutne vrednosti broja doda cifra 0
sve binarne cifre se invertuju (jedinice se zamene nulama, a nule jedinicama)
dobijeni broj se sabere sa 1.
Primer 1 Predstaviti u komplementu dvojke broj -26(10).
Komplement dvojke (1)
Korak 1: Polazi se od neoznaenog broja 26 koji treba pretvoriti u binarni broj:
26(10)=11010(2)
Korak 2: Dodavanjem nule ispred binarnog broja dobija se oznaen pozitivan broj:
+26(10)=011010(2)
Korak 3: Invertovanjem cifara pozitivnog broja i sabiranjem sa 1 dobija se vrednost za -26 u komplementu dvojke.
-26(10)=100101+1=100110(2)
57:2=28 (1) 28:2=14 (0) 14:2=7 (0) 7:2=3 (1) 3:2=1 (1) 1:2=0 (1)
57(10)=111001(2) +57(10)=0111001(2) -57(10)=1000110+1=1000111(2)
Komplement dvojke (2) Primer 2 Predstaviti u komplementu dvojke broj -57(10).
Komplement dvojke
Primer 4 Nai dva puta uzastopno komplement dvojke broja 13(10).
polazni broj (+13): 0000 0000 0000 1101 invertovanje: 1111 1111 1111 0010 sabiranje sa 1: +1 puni komplement (-13): 1111 1111 1111 0011
polazni broj (-13): 1111 1111 1111 0011 invertovanje: 0000 0000 0000 1100 sabiranje sa 1: +1 puni komplement (+13): 0000 0000 0000 1101
Osobina komplementa dvojke: kada se dva puta uzastopno primeni na neki broj, dobija se polazni broj.
Komplement dvojke
Pojednostavljeni postupak zapisivanja broja
Polazni binarni broj se podeli na dva dela, levi i desni, tako da desni deo ine prva jedinica sa desne strane u broju i sve nule koje slede iza nje, dok preostale cifre ine levi deo broja.
Komplement dvojke se dobija tako što se sve cifre u levom delu broja invertuju (jedinice se zamene nulama, a nule jedinicama), a desni deo broja ostaje nepromenjen.
Komplement dvojke
polazni broj = 010100100 | 10000 levi deo desni deo
komplement dvojke = 10101101110000
368:2=184 (0) 184:2=92 (0) 92:2=46 (0) 46:2=23 (0) 23:2=11 (1) 11:2=5 (1) 5:2=2 (1) 2:2=1 (0) 1:2=0 (1)
Primer 3 Predstaviti u komplementu dvojke broj -368(10).
Komplement dvojke (3)
368(10)= 101110000(2) +368(10)=0101110000(2) -368(10)=1010001111+1 -368(10)=1010010000(2)
546:2=273 (0) 273:2=136 (1) 136:2=68 (0) 68:2=34 (0) 34:2=17 (0) 17:2=8 (1) 8:2=4 (0) 4:2=2 (0) 2:2=1 (0) 1:2=0 (1)
Primer 4 Predstaviti u komplementu dvojke broj -546(10).
Komplement dvojke (4)
Komplement dvojke
Odreivanje decimalne vrednosti broja
Decimalna vrednost X oznaenog binarnog broja zapisanog u komplementu dvojke sa n+1 cifara nalazi se primenom sledee formule:
0 0
1 1
n n
n
Osobina komplementa dvojke: pozitivnim brojevima mogu se dodavati vodee nule (ispred cifre najvee teine), a negativnim vodee jedinice, a da se vrednost brojeva ne promeni.
0111(2) = 0000000111(2) 1001(2) = 11111001(2)
Primer 5 Izraunati decimalnu vrednost oznaenih binarnih brojeva datih u komplementu dvojke.
Komplement dvojke (5)
b. 101110101(2)=-256+64+32+16+4+1=-139(10)
c. 0100100(2)=32+4=+36(10)
d1. 1111110100(2)=-512+256+128+64+32+16+4=-12(10)
d2. 1111110100(2)=10100(2)=-16+4=-12(10)
Komplement dvojke (6)
Opseg neoznaenih brojeva

Opseg oznaenih brojeva
Opseg oznaenih brojeva zapisanih u komplementu dvojke sa n cifara dobija se po sledeim formulama:
Opsezi brojeva koji se mogu predstaviti pomou 4 odnosno 8 binarnih cifara su:
a. 34 b. 68 c. 320 d. 127
Opsezi brojeva (1) Primer 6 Koliko je cifara potrebno da bi se zapisali navedeni neoznaeni
brojevi u binarnom formatu?
2n ≥ x + 1
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 29=512
a. X=34 2n ≥ 35 n=6 b. X=68 2n ≥ 69 n=7 c. X=320 2n ≥ 321 n=9 d. X=127 2n ≥ 128 n=7
Opsezi brojeva (2)
a. 67 b. -34 c. 63 d. -88
Opsezi brojeva (3) Primer 7 Koliko je cifara potrebno da bi se zapisali navedeni oznaeni
brojevi u binarnom formatu u komplementu dvojke?
0,2 0,12
xx
xx
a. X=67 2n-1 ≥ 68 n-1=7 n=8 b. X=-34 2n-1 ≥ 34 n-1=6 n=7 c. X=63 2n-1 ≥ 64 n-1=6 n=7 d. X=-88 2n-1 ≥ 88 n-1=7 n=8
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256
Opsezi brojeva (4)
Aritmetike operacije: sabiranje i oduzimanje
brojevi se posmatraju kao jedinstvene celine, tj. znak je sastavni deo broja
operacije se obavljaju isto kao nad binarnim neoznaenim brojevima
operacija oduzimanja se svodi na operaciju sabiranja
A – B = A + (-B)
indikatora prenosa C (carry) – prenos iz najstarijeg razreda
indikatora prekoraenja V (overflow) - rauna se pomou prenosa iz dva najstarija razreda, S i P, na sledei nain
ako je C = P, onda je V = 0
ako je C≠ P, onda je V = 1
Rezultat je ispravan ako je V = 0, a neispravan ako je V = 1.
Komplement dvojke
Postupak sabiranja
1. oba sabirka se predstave u komplementu dvojke
2. dobijeni brojevi se saberu po pravilima binarnog sabiranja uz pamenje prenosa izmeu razreda
3. na osnovu zamapenih prenosa odrede se vrednosti P i S
4. na osnovu P i S izrauna se indikator V koji pokazuje da li je dobijeni rezultat ispravan
Komplement dvojke
Komplement dvojke Primer 7 Sabrati brojeve A = +3 i B = +4 (n = 4).
Primer 8 Sabrati brojeve A = +3 i B = -4 (n = 4).
puni komplement A: 0011 puni komplement B: 0100 zbir: 0111 = -023+122+121+120=+7 (tano) prenosi: 0000 C = 0, P = 0, V = 0, ispravno
puni komplement A: 0011 puni komplement B: 1100 zbir: 1111 = -123+122+121+120=-1 (tano) prenosi: 0000 C = 0, P = 0, V = 0, ispravno
Komplement dvojke Primer 9 Sabrati brojeve A = +7 i B = +1 (n = 4).
Primer 10 Sabrati brojeve A = -7 i B = -4 (n = 4).
puni komplement A: 0111 puni komplement B: 0001 zbir: 1000 = -123+022+021+020=-8 (netano) prenosi: 0111 C = 0, P = 1, V = 1, neispravno
puni komplement A: 1001 puni komplement B: 1100 zbir: 0101 = -023+122+021+120=+5 (netano) prenosi: 1000 C = 1, P = 0, V = 1, neispravno
a. 103, -98 b. 87, -27 c. 24, -72
Sabiranje brojeva zapisanih u komplementu dvojke (1)
Primer 8 Navedene decimalne brojeve konvertovati u binarne brojeve u komplementu dvojke, a zatim ih sabrati.
103(10) = 1100111(2) +103(10) = 01100111(2), (n=8) 98(10) = 1100010(2) +98(10) = 01100010(2) -98(10) = 10011101 + 1 = 10011110(2), (n=8)
103 + (-98) = +5, (n=4) usvaja se n=8
+103 01100111 + -98 +10011110
a.
87(10) = 1010111(2) +87(10) = 01010111(2), (n=8) 27(10) = 11011 (2) +27(10) = 011011(2) -27(10) = 100100 + 1 = 100101(2), (n=6)
87 + (-27) = +60, (n=7) usvaja se n=8
+87 01010111 +-27 +11100101 +60 (1)00111100
Sabiranje brojeva zapisanih u komplementu dvojke (3)
b.
24(10) = 11000(2) +24(10) = 011000(2), (n=6) 72(10) = 1001000 (2) +72(10) = 01001000(2) -72(10) = 10110111 + 1 = 10111000(2), (n=8)
24 + (-72) = -48, (n=7) usvaja se n=8
+24 00011000 +-72 +10111000 -48 11010000
Sabiranje brojeva zapisanih u komplementu dvojke (4)
c.
Predstavljanje realnih brojeva
Za predstavljanje realih brojeva (brojeva sa decimalnom takom) koristi se
pokretni zarez – floating point
eksponent
mantisu
Pokretni zarez Decimalna vrednost broja zapisanog u pokretnom zarezu dobija se po formuli:
(ZNAK)MANTISA2EKSPONENT
Opšteprihvaeni standard za zapis brojeva u pokretnom zarezu je standard IEEE 754.
Zapis broja u pokretnom zarezu po standardu IEEE 754
1 bit za znak
8 bitova za eksponent
23 bita za mantisu Znak
Broj je pozitivan ako binarna cifra koja predstavlja znak ima vrednost 0, a negativan ako ova cifra ima vrednost 1.
Eksponent
Po IEEE 754 standardu, 8-bitni eksponent se uveava za 127 prilikom generisanja zapisa. Zato se naziva i uveani eksponent.
Razlog za uveanje eksponenta je u tome što to prua mogunost da eksponent ima i negativnu vrednost.
pomou 8 bita mogu se zapisati decimalni brojevi od 0 do 255
umanjivanjem navedenog opsega brojeva za 127 dobija se da vrednost eksponenta moe biti u opsegu od -127 do 128
Pri odreivanju decimalne vrednosti zapisa, prava vrednost eksponenta dobija kada se od decimalne vrednosti 8-bitnog eksponenta u zapisu oduzme 127.
Po IEEE 754 standardu, mantisa se predstavlja pomou 23 bita koji se mogu obeleiti sa m1, m2, ..., m23, poevši sa leva na desno.
Decimalna vrednost mantise odreuje se formulom:
Vrednost mantise mora biti izmeu 1 i 2.
Po IEEE 754 standardu, decimalni broj 0 se zapisuje
pomou 32 nule pomou jedinice i 31 nule
Mantisa
MANTISA
01000001011100000000000000000000
Rešenje: 0 10000010 11100000000000000000000 Znak: cifra znaka je 0 → broj je pozitivan Eksponent: 10000010(2) = 128+2-127 = 3 Mantisa: 20+2-1+2-2+2-3 = 1+1/2+1/4+1/8 = 15/8 Vrednost broja: +15/8 23 = +15/8 8 = +15
Odreivanje decimalne vrednosti
Primer 7 Odrediti decimalnu vrednost broja zapisanog u pokretnom zarezu.
a. 11000000111010000000000000000000(2) b. 00111100100000000000000000000000(2) c. BF1A0000(16)
Pokretni zarez (1) Primer 9 Izraunati decimalnu vrednost navedenih brojeva zapisanih u
pokretnom zarezu.
a. 1 10000001 11010000000000000000000
Znak: cifra znaka je 1 → broj je negativan Eksponent: 128+1-127 = 2 Mantisa: 20+2-1+2-2+2-4 = 1+1/2+1/4+1/16 = 29/16 Vrednost broja: -29/1622 = -29/164 = -29/4 = -7.25
Pokretni zarez (2)
Znak: cifra znaka je 0 → broj je pozitivan
Eksponent: 64+32+16+8+1-127 = -6 Mantisa: 20 = 1 Vrednost broja: +12-6 = 1/64 = 0.015625
Pokretni zarez (3)
c. BF1A0000(16)= 1011 1111 0001 1010 0000 0000 0000 0000(2)= 1 01111110 00110100000000000000000=
Znak: cifra znaka je 1 → broj je negativan
Eksponent: 64+32+16+8+4+2-127 = -1 Mantisa: 20+2-3+2-4+2-6 = 1+1/8+1/16+1/64 = 77/64 Vrednost broja: -77/642-1 = -77/128 = -0.6015625
Pokretni zarez (4)