OSNOVI RAČUNARSKE TEHNIKE
Univerzitet NOVI PAZAR 2009./2010. Dr. Ivan ĐOKIĆ
OSNOVI RAČUNARSKE TEHNIKE
LEKCIJA 4: Binarni brojni sistem
BINARNI BROJEVI • Oznake za dužinu binarnog podatka u računarskom sistemu 1 bit = 0 ili 1 (najmanji podatak) 1 nibble = 4 bit-a = jedna tetrada 1 byte = 8 bit-a = dve HEX cifre 1 word = 16 bit-a, 32 bit-a, ... 60 bit-a, • U zapisu binarnog broja prvi sleva je bit najveće težine, a prvi zdesna bit najmanje težine Most Significant MSB Bit
List Significant LSB LSB Bit
ZAŠTO SE U RAČUNARIMA KORISTI BINARNI BROJNI SISTEM ? ◊ Lako se pamte brojevi u bistabilnim elementima ◊ Pouzdano se prenose žicama u prisustvu šuma ◊ Direktna realizacija aritmetičkih i logičkih funkcija
0 3.3V 2.8V 0.5V 0.0V
1
0
BIT I BAJT
Bit (Bit) Binarna cifra Mikročip 0 ili 1 Prekidač Bajt (Byte) Osam bita ASCII kod Svaki bajt predstavlja slovo, broj ili specijalni karakter
OFF
ON
0
=4 0
0
1
1
0
1
0
0
=A 0
1
0
0
0
0
0
1
1
BINARNI BROJEVI
8 - bitni binarni broj je jednobajtni podatak
28 = 256 različitih podataka (brojeva)
N = b7 b6b5b4b3b2b1b0 N ( 10) = b7 ⋅ 2 + b6 ⋅ 2 + ... + b1 ⋅ 2 + b0 ⋅ 2 7
6
1
0
BINARNI BROJEVI
◊ Procesor ne razlikuje označen i neoznačen podatak; ◊ Programer odlučuje: • da li se koristi označen ili neoznačen binarni podatak • koje će aritmetičke operacije da primeni nad binarnim podacima • koje će kontrolne bite da koristi za tumačenje rezultata aritmetičke operacije
BINARNI BROJEVI 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 je rezulatat negativan broj kada su podaci označeni brojevi V (oVerflow) = 1 signalizira da je rezultat van opsega (-128 do +127) ako su ulazni podaci označeni brojevi Z (Zero) = 1 signalizira da je rezultat aritmetičke operacije 0
OSNOVNE ARITMETIČKE OPERACIJE Osnovna aritmetička operacija u računarskim sistemima je sabiranje Pravila binarnog sabiranja: 0+0=0 1+0=1 0 + 1 = 1 1 + 1 = 10 1 = prenos (carry) 1 + 1 + 1 = 11 1 = prenos (carry) Oduzimanje se svodi na sabiranje: X – Y = X + (- Y) pri čemu je (- Y) kodovana negativna vrednost
PREDSTAVLJANJE NEGATIVNIH BROJEVA Negativni brojevi mogu da se koduju primenom ◊ Direktnog koda ◊ Komplementa Direktan kod MSB sadrži bit znaka, a ostali biti daju apsolutnu vrednost MSB = 1 broj je negativan MSB = 0 broj je pozitivan
PREDSTAVLJANJE NEGATIVNIH BROJEVA Komplement jedinice (prvi komplement) Invertovanjem svake cifre polaznog binarnog broja 0 →1 1→ 0
Komplement dvojke (drugi komplement) Uvećavanjem vrednosti prvog komplementa za 1
PRIMER: 16-bitni binarni broj
PRIMER: Sabiranje pozitivnog i negativnog broja (negativan broj – direktan kod)
9 + ( −9 ) ≠ 0
PRIMER: Sabiranje pozitivnog i negativnog broja (negativan broj – prvi komplement)
9 + ( −9 ) ≠ 0
PRIMER: Sabiranje pozitivnog i negativnog broja (negativan broj – drugi komplement)
9 + ( −9 ) = 0
FORMAT ZAPISA BINARNIH BROJEVA •
Svaka binarna cifra N = br br −1...b−1b0 .b−1 ...b− p u zapisu ima svoje određeno mesto u mašinskoj reči: razred • Broj je sa nepokretnom decimalnom tačkom ako je jednom određen položaj decimalne tačke u odnosu na razrede isti za sve brojeve u mašinskom jeziku • Informaciju o položaju decimalne tačke čuva programer • Položaj decimalne tačke se ne upisuje u memoriju
FORMAT ZAPISA BINARNIH BROJEVA • Format zapisa je dužina binarnog zapisa (broj bita) i položaj decimalne tačke • Formatom je određen broj cifara ispred i iza decimalne tačke - Broj cifara ispred decimalne tačke definiše opseg brojeva koji mogu da se predstave tim formatom - Broj cifara iza decimalne tačke definiše tačnost sa kojom se prikazuju brojevi • Dužina zapisa je fiksna i određena hardverom računara • Programer pravi kompromis između tačnosti i opsega •
FORMAT ZAPISA BINARNIH BROJEVA Neoznačeni brojevi sa nepokretnom decimalnom tačkom N − R. R
Q
N - R = broj cifara ispred decimalne tačke R = broj cifara iza decimalne tačke N = ukupan broj bita (dužina zapisa) R = N zapis je normalizovan (0 ≤ broj < 1) R = 0 zapis je celobrojan
FORMAT ZAPISA BINARNIH BROJEVA Označeni brojevi sa nepokretnom decimalnom tačkom S
QN − R. R
N - R = broj cifara ispred decimalne tačke R = broj cifara iza decimalne tačke N = ukupan broj bita (dužina zapisa) R = N zapis je normalizovan (0 ≤ broj < 1) R = 0 zapis je celobrojan
FORMAT ZAPISA BINARNIH BROJEVA Decimalna vrednost osmobitnog zapisa neoznačenog broja u formatu Q 8− R. R
N ( 10) = 2− R ⋅ ( b7 ⋅128 + b6 ⋅ 64 + ... + b1 + b0 )
Decimalna vrednost osmobitnog zapisa Q8S− R.R označenog broja u formatu N ( 10) = 2− R ⋅ ( −b7 ⋅128 + b6 ⋅ 64 + ... + b1 + b0 )
Mogu da se sabiraju ili oduzimaju samo brojevi u istom formatu
FORMAT ZAPISA BINARNIH BROJEVA Istom binarnom zapisu u zavisnosti od formata mogu da odgovaraju različite decimalne brojne vrednosti:
11( 10) ⇔ Q8.0 00001011( 2) = 5.5( 10) ⇔ Q7.1
2.75( 10) ⇔ Q6.2
FORMAT ZAPISA BINARNIH BROJEVA Ista decimalna brojna vrednost može da ima više različitih binarnih zapisa:
00001011( 2) ⇔ Q7.1
5.5( 10)
= 00010110( 2) ⇔ Q6.2 00101100( 2) ⇔ Q5.3
FORMAT ZAPISA BINARNIH BROJEVA Promena formata se svodi na množenje ili N deljenje binarne vrednosti sa 2 Pomeranje (šiftovanje) decimalne tačke za N N mesta ulevo je deljenje sa 2 Pomeranje (šiftovanje) decimalne Ntačke za N mesta udesno je množenje sa 2
FORMAT ZAPISA BINARNIH BROJEVA Tipično predstavljanje podataka u računarima (dužina podatka je 1÷8 bajta)
PITANJA