You are on page 1of 33

Arhitektura i organizacija računara 1

Matematičke osnove računara

Sabiranje i oduzimanje u
binarnom brojnom sistemu
Binarni brojevi

 Oznake za dužinu binarnog podatka u


računarskom sistemu
 1 bit = 0 ili 1 (najmanji podatak)
 1 nibble = 4 bita = jedna tetrada
 1 Byte = 8 bita = dve HEX cifre
 1 word = 16 bita, 32 bita, ..., 64 bita
 U zapisu binarnog broja prvi sleva je bit
najveće težine (MSB), a prvi zdesna bit
najmanje težine (LSB)
MSB LSB
Binarni brojevi

 8 - bitni binarni broj je jednobajtni podatak


 28 = 256 različitih podataka (brojeva)

x(2) = b7 b6 b5 b4 b3 b2 b1 b0

 Binarni broj može da bude neoznačen i


označen
 Ako je broj označen, znak je sačuvan u bitu
najveće težine (MSB)
Neoznačen binarni broj

 Opseg
neoznačenih
brojnih vrednosti
u decimalnom
brojnom sistemu
koji može da se
dobije pomoću
8-bitnog
binarnog zapisa
je 0...255(10)
Izbor zapisa binarnih brojeva

 Procesor ne razlikuje označen i


neoznačen broj
 Programer odlučuje:
 da li se koristi označen ili neoznačen
binarni broj
 koje se aritmetičke operacije primenjuju
nad binarnim brojevima
 koji se kontrolni biti koriste za tumačenje
rezultata aritmetičke operacije
Sabiranje binarnih brojeva

 Osnovna aritmetička operacija u


računarskim sistemima je sabiranje
 Pravila binarnog sabiranja:
0+0= 0
0+1= 1
1+0= 1
1 + 1 = 10

1 + 1 + 1 = 11 1 = prenos (carry)
Sabiranje binarnih brojeva

 Pravila binarnog sabiranja ne zavise od


toga da li je broj označen ili neoznačen
 Prvo se sabiraju dva najmanje značajna
bita (LSB)
 Ako je potrebno, formira se prenos za
sabiranje u sledećem koraku
 Postupak sabiranja bita se ponavlja sve
dok se ne dođe do bita najveće težine
(MSB)
Sabiranje binarnih brojeva

 Primer:
0 0 1 1 1 0 0 12 0 0 1 1 1 0 0 12 0 0 1 1 1 0 0 12
+0 0 0 1 1 0 1 02 +0 0 0 1 1 0 1 02 +0 0 0 1 1 0 1 02
12 1 12 0 1 12
12 + 0 2 = 1 2 02 + 1 2 = 1 2 02 + 0 2 = 0 2
+1 +1 +1
0 0 1 1 1 0 0 12 0 0 1 1 1 0 0 12 0 0 1 1 1 0 0 12
+0 0 0 1 1 0 1 02 +0 0 0 1 1 0 1 02 +0 0 0 1 1 0 1 02
0 0 1 12 1 0 0 1 12 0 1 0 0 1 12
12 + 12 = 102 12 + 12 + 12 = 112 12 + 12 + 02 = 102

0 0 1 1 1 0 0 12 0 0 1 1 1 0 0 12 5710
+0 0 0 1 1 0 1 02 +0 0 0 1 1 0 1 02 +2610
1 0 1 0 0 1 12 0 1 0 1 0 0 1 12 8310
12 + 0 2 + 0 2 = 1 2 02 + 0 2 = 0 2
Označeni brojevi

 Označeni brojevi se koriste za


predstavljanje pozitivnih i negativnih
vrednosti
 U računarima se koristi predstava
označenih brojeva u kojoj vrednost MSB
bita određuje znak binarnog broja
 MSB = 0 odgovara znaku +
 MSB = 1 odgovara znaku –
Negativni brojevi u binarnom
brojnom sistemu

 Negativni brojevi u binarnom brojnom


sistemu mogu da se predstave (koduju)
primenom:
• Direktnog koda

• Prvog komplementa

• Drugog komplementa
Direktan kod

 U direktnom kodu:
 MSB sadrži bit znaka
 ostali biti sadrže apsolutnu vrednost broja

MSB = 0 broj je pozitivan


MSB = 1 broj je negativan

 Primer: +5(10) = 0000 0101(2)


-5(10) = - ( 5(10) ) = 1000 0101(2)
Prvi komplement

 Negativan broj (-Y) predstavlja se kao


prvi komplement binarnog zapisa
 Prvi komplement (komplement jedinice)
dobija se invertovanjem svake cifre
polaznog binarnog broja
 0 1 1 0
 Postoji razlika između “pozitivne” i “negativne
nule”
+0 = 0000 0000(2)
-0 = 1111 1111(2)
Prvi komplement

 Primer formiranja prvog komplementa


Drugi komplement

 Negativan broj (-Y) predstavlja se kao


drugi komplement binarnog zapisa
 Drugi komplement (komplement dvojke)
dobija se uvećanjem vrednosti prvog
komplementa za 1
 Drugi komplement pozitivne i negativne nule
je isti
+0 = -0 = 0000 0000(2)
Drugi komplement

 Drugi način za formiranje drugog


komplementa
Primeri za vežbu
Prvi i drugi komplement

1. Odrediti prvi i drugi komplement sledećih


binarnih brojeva:
a) 01110111(2)
x’(2) =
x’’(2) =

b) 10101100(2)
x’(2) =
x’’(2) =
Konverzija neoznačenog i
označenog BIN broja u DEC
 8 - bitni podatak
 Neoznačen (unsigned) bajt
 256 pozitivnih brojeva (0 do 255)
 Broj u DEC sistemu se dobija iz izraza:

x(10) = b7 27 + b6 26 + ... + b1 21 + b0 20
 Označen (signed) bajt
 256 pozitivnih i negativnih brojeva (-128 do +127)
 Ako je primenjen 2. komplement, broj u DEC
sistemu se dobija iz izraza:

x(10) = - b7 27 + b6 26 + ... + b1 21 + b0 20
Primeri za vežbu
Konverzija 8-bitnih BIN u DEC

Izvršiti konverziju 8-bitnog binarnog broja


x(2) = 11001011(2) u decimalan brojni sistem,
x(2) → x(10), ukoliko je zapis binarnog broja:
a) bez znaka
x(10) =

b) sa znakom i predstavljen u drugom


komplementu
x (10) =
Primeri za vežbu
Konverzija 8-bitnih BIN u DEC

Binarno sabrati brojeve 10100011(2) i


00111010(2) i rezultat predstaviti kao
decimalan broj ako su ulazni podaci:
a) dva neoznačena binarna broja

x(10) =
b) dva označena binarna broja.

x(10) =
Konverzija neoznačenog i
označenog BIN broja u DEC
 16 - bitni podatak
 Neoznačen (unsigned) bajt
 65536 pozitivnih brojeva (0 do 65535)
 Broj u DEC sistemu se dobija iz izraza:
x(10) = b15 215 + b14 214 + ... + b1 21 + b0 20

 Označen (signed) bajt


 65536 pozitivnih i negativnih brojeva (-32768 do
+32767)
 Ako je primenjen 2. komplement, broj u DEC sistemu
se dobija iz izraza:

x(10) = - b15 215 + b14 214 + ... + b1 21 + b0 20


Primeri za vežbu
Konverzija 16-bitnih BIN u DEC

U memoriji se nalaze brojevi:


a) 14B0(16)
b) 8011(16)
c) 83(16)

O kojim decimalnim brojevima se radi ako


su zapisani kao:
1. šesnaestobitni označeni
2. šesnaestobitni neoznačeni brojevi?
Primeri za vežbu
Konverzija 16-bitnih BIN u DEC

U šesnaestobitnom zapisu predstaviti


decimalni broj –41(10). Odgovor dati kao
šesnaestobitni (četvorocifreni)
heksadecimalni broj.
Oduzimanje binarnih brojeva

 Oduzimanje se svodi na sabiranje:

X–Y=X+(-Y)

 ( - Y ) je negativna vrednost predstavljena u


prvom ili drugom komplementu
 Oduzimanje ne može da se realizuje na
ovakav način ako je primenjen direktan kod!
Oduzimanje binarnih brojeva
primenom prvog komplementa

 Ako je ( - Y ) negativna vrednost


predstavljena u prvom komplementu
 Kada se pri sabiranju

X+(-Y)

pojavi prenos (C, carry) sabiranjem dva MSB


bita, rezultat se koriguje dodavanjem bita
prenosa na LSB
Oduzimanje binarnih brojeva
primenom prvog komplementa

standardno
oduzimanje
Primeri za vežbu: Oduzimanje
primenom prvog komplementa

Koristeći 8 – bitne binarne brojeve sa znakom


izračunati primenom prvog komplementa
razliku brojeva 56 (10) i 100(10), a zatim
prikazati rezultat u decimalnom brojnom
sistemu.

x(10) =
Oduzimanje binarnih brojeva
primenom drugog komplementa

 Ako je ( - Y ) negativna vrednost


predstavljena u drugom komplementu
 Kada se pri sabiranju

X+(-Y)

pojavi prenos (C, carry) sabiranjem dva MSB


bita, prenos se ignoriše (odseca se)
Oduzimanje binarnih brojeva
primenom drugog komplementa
Primeri za vežbu: Oduzimanje
primenom drugog komplementa

Koristeći 8 – bitne binarne brojeve sa znakom


izračunati primenom drugog komplementa
razliku brojeva 63(10) i 107(10) , a zatim
prikazati rezultat u decimalnom brojnom
sistemu.

x(10) =
Indikacija izvršavanja
računskih operacija
 Posle svake aritmetičke operacije u ALU
procesor postavlja ili briše kontrolne bite u
registru stanja (zastavice, flag-ovi) čija
vrednost može da bude 1 ili 0
 C (Carry) = 1 označava da postoji prenos bita
najveće težine
 N (Negative) = 1 označava da je rezulatat
negativan broj kada su podaci označeni brojevi
 V (oVerflow) = 1 signalizira da je rezultat van
opsega
 -128 do +127 ako su podaci 8-bitni označeni brojevi
 Z (Zero) = 1 signalizira da je rezultat aritmetičke
operacije 0
Primeri za vežbu
Indikacija izvršavanja sabiranja

U osmobitnoj aritmetici binarno sabrati


brojeve 10000001(2) i 10000011(2).
a) Koji decimalan broj je rezultat sabiranja ako
se zna da su u pitanju označeni brojevi?

x(10) =
b) Kakvo će biti stanje zastavica C, N, Z i V
posle sabiranja?
TEST 5 minuta
1. Dva bajta podatka sadrže:
a) 4 nibla b) 8 bita c) 32 bita
2. Označen broj 10001001(2), ako je primenjen drugi komplement
u decimalnom sistemu ima vrednost:
a) -120(10) b) 139(10) c) -119(10)
3. MSB = 1 ukazuje da je označeni binarni broj negativan
a) u svim načinima kodovanja negativne vrednosti
b) samo ako je primenjen direktan kod
4. Razlika pozitivne i negativne nule postoji kod primene
a) prvog komplementa b) drugog komplementa
5. Bit prenosa pri sabiranju MSB binarnih označenih brojeva,
prikazanih u drugom komplementu se:
a) odseca (ignoriše) b) koristi za korekciju rezultata
TEST JE ZAVRŠEN!

You might also like