PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Elektrotehnički fakultet Univerziteta u Beogradu Programiranje 1<br />
Zadatak IZ (Oktobar 2007)<br />
Posmatra <strong>se</strong> računar <strong>koji</strong> radi sa 9-bitnim brojevima predstavljenim u komplementu dvojke. Koja <strong>se</strong><br />
vrednost dobije kada <strong>se</strong> na ovom računaru izračuna izraz (A-B)-(C-D) Vrednosti operanada A i B<br />
su 217 10 i -F1 16 , predstave operanada C i D su 115 16 i 011000101 2 .<br />
A) -122 10<br />
(B) -86 16<br />
C) 101111010 2<br />
Rešenje:<br />
Zadatak ilustruje razliku između vrednosti operanda i predstave operanda u memoriji računara.<br />
Vrednost operanda <strong>se</strong> dobija interpretacijom predstave operanda, primenom zadatih pravila. U<br />
ovom slučaju, pravila su određena sistemom komplement dvojke.<br />
Zadatak je moguće rešiti na više načina. Ovde će biti prikazana dva pristupa.<br />
1. Računanje na osnovu vrednosti operanada<br />
Za operande A i B su date njihove vrednosti. Pri tome, operand A je dat u decimalnom brojnom<br />
sistemu, a operand B u heksadecimalnom. Radi jednostavnijeg računa, najpre treba odrediti vrednost<br />
operanda B u decimalnom brojnom sistemu: B = - (15 * 16 1 + 1 * 16 0 ) = -241.<br />
Za operande C i D su date njihove predstave. Pri tome, predstava operanda C je data u<br />
heksadecimalnom brojnom sistemu, a predstava operanda D je data u binarnom brojnom sistemu.<br />
Slično prethodnom slučaju, da bi <strong>se</strong> jednostavnije odredile vrednosti ovih operanada, treba ih<br />
prikazati u binarnom brojnom sistemu: tako <strong>se</strong> direktno vidi vrednost svakog bita broja, čime <strong>se</strong><br />
smanjuje mogućnost greške prilikom interpretacije. Reprezentacija C: 100010101 2 . Očigledno, broj u<br />
lokaciji C je negativan. Da bi <strong>se</strong> odredila njegova vrednost, najpre ga treba pretvoriti u pozitivan broj.<br />
Reprezentacija –C : 011101011 2 , odnosno C = -235. Određivanje vrednosti operanda C je moglo i<br />
jednostavnije da <strong>se</strong> obavi: negativan broj <strong>se</strong> interpretira kao ceo broj bez znaka i od njega <strong>se</strong><br />
oduzme 2 n , gde je n u ovom slučaju 9, dakle oduzme <strong>se</strong> 512. Interpretacijom reprezentacije<br />
operanda C kao celog broja bez znaka dobija <strong>se</strong> vrednost 256+16+4+1 = 277. Prema tome,<br />
277-512 = -235, što je tražena vrednost. Slično <strong>se</strong> dobija D = 128+64+4+1 = 197.<br />
Sada treba razmatrati parcijalne sume A-B i C-D zato što računar rezultat svake od njih mora da<br />
smesti u memoriju pre nego što obavi sledeću operaciju. Prilikom svake od operacija može doći do<br />
prekoračenja, pa je zato preporučljivo da <strong>se</strong> najpre odrede vrednosti minINT i maxINT za ovaj<br />
računar. Za 9-bitni računar, minINT = -256, maxINT = 255. A-B = 217-(-241) = 458. Očigledno<br />
dolazi do prekoračenja (rezultat je veći od maxINT). Prekoračenje označava da je rezultat<br />
operacije netačan. Ipak, rezultat te operacije (iako netačan) će biti upisan u memoriju računara.<br />
Vrednost rezultata je 458-512 = -54. Slično tome, C-D = -235-197 = -432. I u ovom slučaju dolazi do<br />
prekoračenja a rezultat je -432+512 = 80. Konačno, vrednost celog izraza je -54-80 = -134.<br />
Očigledno, odgovor pod A) je netačan. Takođe, odgovor pod C) je netačan jer je u pitanju pozitivan<br />
broj, a vrednost ovog izraza je negativan broj. Odgovor pod B) je tačan: 8*16 1 + 6 * 16 0 = 128+6 =<br />
132.<br />
NAPOMENA: u zadatku <strong>se</strong> tražila VREDNOST rezultata. Da <strong>se</strong> tražila predstava rezultata u<br />
memoriji, onda bi rešenje pod C) bilo tačno. Takođe treba primetiti da je prekoračenje kod<br />
aritmetičkih operacija sasvim normalna pojava i da rezultat, iako netačan, postoji.<br />
Materijal za vežbe na tabli i pripremu ispita Strana 20 od 82