OSNOVI RAČUNARSKE TEHNIKE
Univerzitet NOVI PAZAR 2009./2010. Dr. Ivan ĐOKIĆ
OSNOVI RAČUNARSKE TEHNIKE
LEKCIJA 5: Aritmetičke operacije
BROJEVI SA NEPOKRETNOM DECIMALNOM TAČKOM
z x n ...
x0z x n ... x0
z x2 n + 1
x0
z
POLUREČNI BROJ
JEDNOREČNI BROJ
x0 REČ VEĆE TEŽINE
REČ MANJE TEŽINE
DVOREČNI BROJ
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM
x = xm ⋅ S 0 < xm < 1
xe
ili
MANTISA BROJA X
S
OSNOVA KARAKTERISTIKE
xe
EKSPONENT KARAKTERISTIKE
xb
EKSPONENT SA VIŠKOM
a
VIŠAK EKSPONENTA
a
x = xm ⋅ S
xb − a
NORMALIZACIJA MANTISE
x = xm ⋅ S xe = ( xm ÷ S ) ⋅ S xe +1 = ( xm ⋅ S ) ⋅ S xe −1
primer : x = + ( 1101.0101) 2 x = ( 0.11010101) 2 ⋅ 2 4 x = ( 0.011010101) 2 ⋅ 25 x = ( 0.0011010101) 2 ⋅ 26
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM STANDARDNA TAČNOST Za čuvanje označenog numeričkog podatka koriste se 32 bita (4 bajta ): 1 bit (MSB) = znak broja 7 bita = eksponent 24 bita = mantisa 1 bit Z
7 bita Eksponent xb
24 bita Mantisa xm
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM STANDARDNA TAČNOST znak : 0 = + 1 = − eksponent : − 64 < xe < +63 eksponent sa viškom : 0 < xb < 127 višak eksponenta : a = 64
1 bit Z
7 bita Eksponent xb
24 bita Mantisa xm
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM PROŠIRENA TAČNOST Za čuvanje označenog numeričkog podatka koriste se 64 bita (8 bajtova ): 1 bit (MSB) = znak broja 11 bita = eksponent 52 bita = mantisa 1 bit
11 bita
Z
Eksponent xb
52 bita Mantisa xm
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM - primer primer : x = ( 101101.101) 2
fp : m = 10, e = 5, b = 0
x = + ( 0.101101101) 2 ⋅ 26
xm = + ( 0.101101101) 2 = ( 0.101101101) 2
xe = ( 6 ) 10
= ( 00110 ) 2
x = ( 0, 00110,1011011010 )
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM - sabiranje/oduzimanje 1. Odrediti broj sa manjim eksponentom i pomeriti njegovu mantisu udesno (za heksadecimalno normalizovane brojeve korak je 4 bita). Broj koraka jednak je razlici eksponenata brojeva. 2. Postaviti eksponent rezultata tako da je jednak većem eksponentu. 3. Izvršiti sabiranje – oduzimanje mantisa i odrediti znak rezultata. 4. Normalizovati rezultat (ako je potrebno), koristiti 24 bita kao mantisu.
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM - množenje 1. Sabrati eksponente (oduzeti a ako su eksponenti sa viškom). 2. Pomnožiti mantise i odrediti znak rezultata. 3. Normalizovati rezultat (ako je potrebno), koristiti 24 bita kao mantisu.
BROJEVI SA POKRETNOM DECIMALNOM TAČKOM - deljenje 1. Oduzeti eksponente (dodati a ako su eksponenti sa viškom). 2. Podeliti mantise i odrediti znak rezultata. 3. Normalizovati rezultat (ako je potrebno), koristiti 24 bita kao mantisu.
OPSEG BROJEVA Prekoračenje i podkoračenje se automatski detektuje u računaru ( V flag ) i najčešće se prekida izvršenje programa Kao posledica zaokruživanja pri izvršavanju aritmetičkih operacija u rezultatu može da se javi: prekoračenje (overflow) - broj je veći od najvećeg dozvoljenog broja potkoračenje (underflow) - broj je manji od najmanjeg dozvoljenog broja
OPSEG BROJEVA
NAJVEĆI NAJMANJI NEGATIVAN POZITIVAN BROJ BROJ
0
PREKORAČENJE NEGATIVNI BROJEVI
NAJMANJI NEGATIVAN BROJ
PREKORAČENJE POZITIVNI BROJEVI
PODKORAČENJE
NAJVEĆI POZITIVAN BROJ
Binarno kodirani decimalni brojevi (BCD) • Omogućava se tačno prikazivanje racionalnih dekadnih brojeva Nema greške usled zaokruživanja razlomljenog dela jer se svaka cifra koduje posebno • Najčešće se koriste: KOD “8421” KOD “više 3” • Svaka decimalna cifra se zamenjuje ekvivalentom od četiri binarne cifre
Binarno kodirani decimalni brojevi (BCD) DEKADNA CIFRA 0 1 2 3 4 5 6 7 8 9
KOD“8421”
KOD “više 3”
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
Binarno kodirani decimalni brojevi (BCD) • BCD cifre koriste samo 10 od 16 mogućih kombinacija sa 4 bita Manja je efikasnost iskorišćenja memorije • Sabiranje ne može da se izvrši direktnom primenom pravila binarne aritmetike - Neophodna je hardverska ili softverska korekcija - Sporija je obrada od binarne aritmetike • Programer vodi računa o pravilnoj interpretaciji kodiranih brojeva
Koraci sabiranja u kodu “8421” Prvi korak: BCD brojevi se sabiraju bit po bit prema pravilima binarne aritmetike Drugi korak se po potrebi ponavlja više puta sve dok cifre rezultata ne budu u dozvoljenom opsegu: Ako nema prenosa u sledeću tetradu i ako je broj < 10102 nema korekcije Ako je broj ≥ 10102 i nema prenosa u sledeću 6 ( 0110 ) tetradu, tetradi se dodaje . Ako postoji prenos u sledeću tetradu, tetradi se dodaje 6 ( 0110 ) Korekcija zbog prenosa u sledeću tetradu vrši se samo jednom, kada se prvi put izvrši drugi korak! 10
10
2
2
Koraci sabiranja u kodu “8421” - primer
2875 = 0010 1000 0111 0101 6943 = 0110 1001 0100 0011 + 1001 0001 1011 1000 1001 0001 1011 1000 0000 0110 0110 0000 + 1001 1000 0001 1000 9
8
1
8
Koraci sabiranja u kodu “više 3” Prvi korak: BCD brojevi se sabiraju bit po bit prema pravilima binarne aritmetike Drugi korak se izvršava samo jednom: Ako nema prenosa u sledeću tetradu od te tetrade se oduzima 310 (tetrada se sabira sa 11012 ) Ako postoji prenos u sledeću tetradu, tetradi se 0011 2 ) dodaje 310 (0011 Kada se vrši korekcija zanemaruje se prenos u sledeću tetradu!
Koraci sabiranja u kodu “više 3” – primer -
2875 = 0101 1011 1010 1000 6943 = 1001 1100 0111 0110 + 1111 1000 0001 1110 1111 1000 0001 1110 1101 0011 0011 1101 + 1100 1011 0100 1011 9
8
1
8
KODIRANJE NENUMERIČKIH PODATAKA ASCII - American Standard Code for Information Interchange • 7 - bitni kod • Skoro svi mikroračunari koriste ovaj kod za prikaz slova i simbola • IBM-PC kompatibilni
EBCDIC – Extended Binary Coded Decimal Interchange Code • 8 - bitni kod • Razvijen od strane IBM-a •Koriste ga samo IBM veliki računari i neki IBM kompatibilni računari
ASCII kod - OSNOVNI
ASCII kod - PROŠIRENI
OSNOVNI TIPOVI INFORMACIJA U RAČUNARSKIM SISTEMIMA INFORMACIJE
PODACI
NENUMERČKI PODACI
INSTRUKCIJE
BROJEVI
FIKSNI ZAREZ
BCD BROJEVI
POKRETNI ZAREZ
BINARNI BROJEVI
BCD BROJEVI
BINARNI BROJEVI
PITANJA