Вы находитесь на странице: 1из 40

Matematičke osnove računarske tehnike

II deo

 Predstavljanje označenih brojeva u binarnom sistemu


 Znak i apsolutna vrednost
 Komplement dvojke
 Pokretni zarez

 Sabiranje i oduzimanje označenih brojeva u komplementu dvojke

 Opsezi neoznačenih i označenih brojeva


Označavanje 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 način


predstavljanja označenih brojeva nemoguć, jer računari
mogu da prepoznaju samo dva znaka, a to su “0” i “1”.
Samim tim je znakove “-” i “+” potrebno na neki način
predstaviti pomoću “0” i ”1”.
Označavanje binarnih brojeva

Postoje tri načina za predstavljanje označenih


binarnih brojeva:

 Pomoću znaka i apsolutne vrednosti

 U komplementu dvojke

 U pokretnom zarezu
Vežbe
Komplement dvojke

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.


Komplement dvojke (1)
Primer 1 Predstaviti u komplementu dvojke broj -26(10).
Korak 1:
Polazi se od neoznačenog broja 26 koji treba pretvoriti u binarni broj:
26(10)=11010(2)
Korak 2:
Dodavanjem nule ispred binarnog broja dobija se označen 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)
Komplement dvojke (2)
Primer 2 Predstaviti u komplementu dvojke broj -57(10).

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
 Osobina komplementa dvojke: kada se dva puta
uzastopno primeni na neki broj, dobija se polazni broj.
Primer 4 Naći 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
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

Naći komplement dvojke binarnog broja 01010010010000(2).

polazni broj = 010100100 | 10000


levi deo desni deo

komplement dvojke = 10101101110000


Komplement dvojke (3)
Primer 3 Predstaviti u komplementu dvojke broj -368(10).

368:2=184 (0) 368(10)= 101110000(2)


184:2=92 (0)
92:2=46 (0)
+368(10)=0101110000(2)
46:2=23 (0) -368(10)=1010001111+1
23:2=11 (1) -368(10)=1010010000(2)
11:2=5 (1)
5:2=2 (1)
2:2=1 (0)
1:2=0 (1)
Komplement dvojke (4)
Primer 4 Predstaviti u komplementu dvojke broj -546(10).

546:2=273 (0) 546(10)= 1000100010(2)


273:2=136 (1)
136:2=68 (0)
+546(10)=01000100010(2)
68:2=34 (0) -546(10)=10111011101+1
34:2=17 (0) -546(10)=10111011110(2)
17:2=8 (1)
8:2=4 (0)
4:2=2 (0)
2:2=1 (0)
1:2=0 (1)
Komplement dvojke
 Osobina komplementa dvojke: pozitivnim brojevima mogu se dodavati
vodeće nule (ispred cifre najveće težine), a negativnim vodeće jedinice, a da
se vrednost brojeva ne promeni.

0111(2) = 0000000111(2)
1001(2) = 11111001(2)

Određivanje decimalne vrednosti broja


 Decimalna vrednost X označenog binarnog broja zapisanog u
komplementu dvojke sa n+1 cifara nalazi se primenom sledeće
formule:

X  an 2 n  an 1 2 n 1  ....  a1 21  a0 20
Komplement dvojke

Odrediti decimalne vrednosti brojeva zapisanih u komplementu dvojke.

 5(10 )  0101( 2 )  0  23  1  2 2  0  21  1  2 0  4  1  5
 5(10 )  1011( 2 )  1  23  0  2 2  1  21  1  2 0  8  2  1  5

 6(10 )  0110( 2 )  0  23  1  2 2  1  21  0  2 0  4  2  6
 6(10 )  1010( 2 )  1  23  0  2 2  1  21  0  2 0  8  2  6
 6(10 )  11010 ( 2 )  1  2 4  1  23  0  2 2  1  21  0  2 0 
 16  8  2  6
Komplement dvojke (5)
Primer 5 Izračunati decimalnu vrednost označenih binarnih brojeva datih u
komplementu dvojke.

a. 10001010100(2)
b. 101110101(2)
c. 0100100(2)
d. 1111110100(2)
Komplement dvojke (6)

a. 10001010100(2)=-1024+64+16+4=-940(10)

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)
Opseg neoznačenih brojeva
Opseg neoznačenih brojeva zapisanih sa n cifara u binarnom obliku
dobija se po sledećoj formuli:


0  x  2 n  1  x  0 ,1,..., 2 n  1 
Opsezi brojeva koji se mogu predstaviti pomoću 4 odnosno 8 binarnih
cifara su:

n  4  0  x  15  x  0 ,1,..., 15 
n  8  0  x  255  x  0 ,1,..., 255 
Opseg označenih brojeva
Opseg označenih brojeva zapisanih u komplementu dvojke sa n cifara
dobija se po sledećim formulama:

x  2  1 za x  0,
n -1

x 2 n -1
 n 1
za x  0  x   2 ,...,1,0,1,...,2 n 1

1

Opsezi brojeva koji se mogu predstaviti pomoću 4 odnosno 8 binarnih


cifara su:
n  4  8  x  7  x   8,...,1,0,1,...,7
n  8  128  x  127  x   128,...,1,0,1,...,127
Opsezi brojeva (1)
Primer 6 Koliko je cifara potrebno da bi se zapisali navedeni neoznačeni
brojevi u binarnom formatu?

a. 34
b. 68
c. 320
d. 127
Opsezi brojeva (2)
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 (3)
Primer 7 Koliko je cifara potrebno da bi se zapisali navedeni označeni
brojevi u binarnom formatu u komplementu dvojke?

a. 67
b. -34
c. 63
d. -88
Opsezi brojeva (4)
2 n -1  x  1 , x  0
2 n -1  x , x  0
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64,
27=128, 28=256

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
Komplement dvojke

Aritmetičke operacije: sabiranje i oduzimanje


 brojevi se posmatraju kao jedinstvene celine, tj. znak je sastavni
deo broja

 operacije se obavljaju isto kao nad binarnim neoznačenim


brojevima

 operacija oduzimanja se svodi na operaciju sabiranja

A – B = A + (-B)
Komplement dvojke
Sabiranje
 U računaru, operacija sabiranja se kontroliše pomoću dva indikatora:

 indikatora prenosa C (carry) – prenos iz najstarijeg razreda

 indikatora prekoračenja V (overflow) - računa se pomoću


prenosa iz dva najstarija razreda, S i P, na sledeći način

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


pamćenje prenosa između razreda

3. na osnovu zamapćenih prenosa odrede se vrednosti P i S

4. na osnovu P i S izračuna se indikator V koji pokazuje da li je


dobijeni rezultat ispravan
Komplement dvojke
Primer 7 Sabrati brojeve A = +3 i B = +4 (n = 4).

puni komplement A: 0011


puni komplement B: 0100
zbir: 0111 = -0∙23+1∙22+1∙21+1∙20=+7 (tačno)
prenosi: 0000
C = 0, P = 0, V = 0, ispravno

Primer 8 Sabrati brojeve A = +3 i B = -4 (n = 4).

puni komplement A: 0011


puni komplement B: 1100
zbir: 1111 = -1∙23+1∙22+1∙21+1∙20=-1 (tačno)
prenosi: 0000
C = 0, P = 0, V = 0, ispravno
Komplement dvojke
Primer 9 Sabrati brojeve A = +7 i B = +1 (n = 4).

puni komplement A: 0111


puni komplement B: 0001
zbir: 1000 = -1∙23+0∙22+0∙21+0∙20=-8 (netačno)
prenosi: 0111
C = 0, P = 1, V = 1, neispravno

Primer 10 Sabrati brojeve A = -7 i B = -4 (n = 4).

puni komplement A: 1001


puni komplement B: 1100
zbir: 0101 = -0∙23+1∙22+0∙21+1∙20=+5 (netačno)
prenosi: 1000
C = 1, P = 0, V = 1, neispravno
Sabiranje brojeva zapisanih
u komplementu dvojke (1)
Primer 8 Navedene decimalne brojeve konvertovati u binarne brojeve u
komplementu dvojke, a zatim ih sabrati.

a. 103, -98
b. 87, -27
c. 24, -72
Sabiranje brojeva zapisanih
u komplementu dvojke (2)
a. 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
+5 (1)00000101
Sabiranje brojeva zapisanih
u komplementu dvojke (3)
b. 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 (4)
c. 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
Predstavljanje realnih brojeva
 Za predstavljanje realih brojeva (brojeva sa decimalnom tačkom) koristi
se
pokretni zarez – floating point

 Zapis u pokretnom zarezu ima 3 komponente:


 znak

 eksponent

 mantisu

31 0
Znak Eksponent Mantisa
Pokretni zarez
Decimalna vrednost broja zapisanog u pokretnom zarezu dobija se po
formuli:

(ZNAK)MANTISA·2EKSPONENT
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.
 Opšteprihvaćeni standard za zapis brojeva u pokretnom zarezu je
standard IEEE 754.
Eksponent

 Po IEEE 754 standardu, 8-bitni eksponent se uvećava za 127 prilikom


generisanja zapisa. Zato se naziva i uvećani eksponent.

 Razlog za uvećanje eksponenta je u tome što to pruža mogućnost da


eksponent ima i negativnu vrednost.

 pomoću 8 bita mogu se zapisati decimalni brojevi od 0 do 255

 umanjivanjem navedenog opsega brojeva za 127 dobija se da


vrednost eksponenta može biti u opsegu od -127 do 128

 Pri određivanju decimalne vrednosti zapisa, prava vrednost eksponenta


dobija kada se od decimalne vrednosti 8-bitnog eksponenta u zapisu
oduzme 127.
Mantisa
 Po IEEE 754 standardu, mantisa se predstavlja pomoću 23 bita koji se
mogu obeležiti sa m1, m2, ..., m23, počevši sa leva na desno.

Decimalna vrednost mantise određuje se formulom:

MANTISA(10)  2 0
 m1 2 1  m2 2 2  ....  m22 2 22  m23 2 23

 Vrednost mantise mora biti između 1 i 2.

 Po IEEE 754 standardu, decimalni broj 0 se zapisuje

 pomoću 32 nule
 pomoću jedinice i 31 nule
Određivanje decimalne vrednosti
Primer 7 Odrediti decimalnu vrednost broja zapisanog u pokretnom zarezu.

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
Pokretni zarez (1)
Primer 9 Izračunati decimalnu vrednost navedenih brojeva zapisanih u
pokretnom zarezu.

a. 11000000111010000000000000000000(2)
b. 00111100100000000000000000000000(2)
c. BF1A0000(16)
Pokretni zarez (2)
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/16·22 = -29/16·4 = -29/4 = -7.25
Pokretni zarez (3)

b. 0 01111001 00000000000000000000000

Znak: cifra znaka je 0 → broj je pozitivan


Eksponent: 64+32+16+8+1-127 = -6
Mantisa: 20 = 1
Vrednost broja: +1·2-6 = 1/64 = 0.015625
Pokretni zarez (4)
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/64·2-1 = -77/128 = -0.6015625

Вам также может понравиться