Računanje s cijelim brojevima u računalu

|
Računanje s cijelim brojevima u računalu
|
Sana | 31.12.2019 | Hajmi | 22,55 Kb. | | #7082 |
Računanje s cijelim brojevima u računalu
Sada kada smo naučili kako cijele brojeve prikazujemo u računalu, pogledajmo kako ih računalo zbraja. Za zbrajanje će vrijediti pravila za zbrajanje binarnih brojeva. Prisjetimo se da za dva broja a i b vrijedi: . Iz toga slijedi da računalo može na neki način i oduzimati jer u osnovi zbraja pozitivni i negativni broj ili koju drugu kombinaciju brojeva.
Primjer
U računalu koji ima registre duljine 8-bitova izračunaj:
a) 52 + 25
b) 15 - 35
Zbroji ta dva broja u računalu i prikaži rezultat u dekadskome sustavu. Brojevi su u računalu prikazani metodom dvojnog komplementa. Nakon zbrajanja dvaju brojeva u računalu potrebno je provjeriti rezultat.
Rješenje
a) Nakon što brojeve pretvorimo u binarni sustav prikazat ćemo ih metodom dvojnog komplementa u registrima A i B. Prisjetimo se pozitivne brojeve ćemo kod metode dvojnog komplementa samo zapisati i s lijeve strane nadopuniti prazne bitove s nulama. Brojeve ćemo zatim potpisati i zbrojiti:
A
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
B
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
Vidimo da je rezultat pozitivan, jer je vodeći bit 0. Jednostavnom pretvorbom vidimo da je vrijednost broja 77 što je jednako kao i kad dekadski zbrojimo zadane brojeve.
b) Kao što smo rekli oduzimanje dva broja možemo prikazati kao 15 + (-35), što znači da ćemo oduzimanje gledati kao zbrajanje broja s negativnim brojem. Oba broja prvo moramo prikazati metodom dvojnog komplementa. Za broj 15 to će biti jednostavno, no za broj -35 potrebno je naći komplement i zatim dvojni komplement. Nakon potpisivanja sadržaji registara će biti:
A
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
B
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
Vidimo da je rezultat negativan, jer je vodeći bit 1. Prije naučenom pretvorbom tj. primjenom istovjetnog postupka za dobivanje dvokomplementnog zapisa dobivamo traženi rezultat.
Komplement broja je
dodavanjem broja 1 dobivamo
pretvorbom u dekadski sustav broja dobivamo apsolutnu vrijednost koja je 20
s obzirom da broj negativan zaključujemo da je riječ o broju -20
Provjerom rezultata u dekadskom brojevnom sustavu vidimo da je rezultat točan.
Primjer
U registrima A i B, 8-bitovnoga računala, prikazani su brojevi:
a)
A
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
|
B
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
b)
A
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
|
B
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
Nakon zbrajanja tih dvaju brojeva u računalu, prikaži rezultat i u dekadskome sustavu. Brojevi su u računalu prikazani metodom dvojnog komplementa.
Rješenje
a) Brojeve ćemo prvo zbrojiti:
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
Vidimo da je rezultat negativan, jer je vodeći bit 1. Pretvorbom vidimo da je posrijedi broj -126. No, provjerom rezultata tj. pretvorbom sadržaja registara u dekadski sustav vidimo da taj rezultat matematički nije točan (5 + 125 = 130). Ovu situaciju opravdavamo činjenicom da je točan rezultat veći od najvećega broja koji možemo zapisati u zadani broj bitova.
b) Zbrajanjem brojeva dobili smo više bitova no što stane u naš registar:
Iz toga slijedi da je broj zapisan u registru , pozitivan jer je vodeći bit 0,
pretvorbom u dekadski sustav dobivamo broj 121.
Provjerom rezultata tj. pretvorbom sadržaja registara u dekadski sustav vidimo da se u ovom primjeru radi o zbrajanju dva negativna broja . Rezultat, kao i u primjeru 5.10. a) neće biti matematički točan . U ovom slučaju rezultat nije točan jer je rezultat u dekadskome sustavu manji od najmanjega broja koji možemo zapisati u zadani broj bitova.
|
| |