Documente Academic
Documente Profesional
Documente Cultură
Bazele Informaticii
Bazele Informaticii
145
146
Aplicaii ale procesoarelor de semnal n comunicaii - reprezentarea numrului raional 35,54 n baza 10: 35,6410 = 3101 + 5100 + 610-1 + 410-2 = 30 + 5 + 0,6 + 0,04
CAPITOLUL 2
b) Binar (b=2), - setul de simboluri este {0, 1}; - valoarea numrului 110012 n zecimal este:
ARITMETICA NUMERELOR
110012 = 124 + 123 + 022 + 021 + 120 = 16 + 8 + 1 = 25 - valoarea numrului 110,012 n zecimal este: 110,012 = 122 + 121 + 020 + 02-1 + 12-2 = 4 + 2 + 0.25 = 6,25
c) Octal (b=8),
Un sistem de numeraie folosete pentru reprezentarea numerelor un set de b simboluri: {0, 1, 2, 3, , b-1} Dac b>10 trebuie adugate noi simboluri n afara cifrelor (litere etc.). Un numr ntreg pozitiv se scrie, n baza b, folosind simbolurile dk:
- setul de simboluri este {0, 1, 2, 3, 4, 5, 6, 7}; - valoarea numrului 20768 n zecimal este: 20768 = 283 + 082 + 781 + 680= 2512 + 56 + 6= 108610 d) Hexazecimal (b=16), - setul de simboluri este {0, 1, 2, , 9, A, B, C, D, E, F}; - reprezentarea numrului B3F16 n zecimal este: B3F16=11162 + 3161 + 15160= 11256 + 48 + 15= 287910
Conversia unui numr reprezentat ntr-o baz b n zecimal se face n mod direct aa cum s-a artat n exemplele de mai sus. Conversia din binar n hexazecimal se realizeaz grupnd cifrele binare n grupuri de cte 4 bii, identificnd simbolul hexazecimal corespunztor: 1101101,10011012 = 0110 1101,1001 10102 = 6D,9A16
147
Conversia din zecimal n baza b se face separat pentru partea ntreag i pentru partea fracionar: - Pentru partea ntreag observm c aceasta se mai poate scrie:
i=
(((( d b + d
k
k -1
) b + ... + d3 ) b + d2 ) b + d1 ) b + d0
Se mparte i la b i se obine restul d0 i un ct care are o reprezentare similar cu i (pe mai puini digii). Se repet mprirea ctului la b pn se ajunge la 0. Restul obinut la fiecare mprire reprezint simbolul dk al reprezentrii n baza b a numrului ntreg. - Pentru partea fracionar: f = d 1 b1 + d 2 b 2 + d 3 b 3 + ... + d k b k + ... Se nmulete f cu b i se pstreaz partea ntreag a membrului drept, respectiv d1. b f = d 1 + d 2 b 1 + d 3 b 2 + ... + d k b k +1 + ...
0,65 2 = 1,3 0,3 2 = 0,6 0,6 2 = 1,2 0,2 2 = 0,4 0,4 2 = 0,8 0,8 2 = 1,6 0,6 2 = 1,2 0,2 2 = 0,4 bii.
1 0 1 0 0 1 1 0
MSB
...
Rezult c numrul 0,65 nu poate fi reprezentat n binar cu un numr finit de 23,6510 = 10111,101001102 Reprezentarea numerelor, n cazul procesoarelor, este limitat la un numr finit de bii. Gama de lucru este astfel limitat. Considernd reprezentarea unui numr binar pe N bii vom avea un domeniu de 2N valori zecimale care pot fi reprezentate.
b ( b f d 1 ) =d 2 + d 3 b 1 + ... + d k b k + 2 + ... Se continu nmulind partea fracionar a rezultatului la b pn se ajunge la 0. Reprezentarea n baz b a prii fracionare se face lund n ordine invers prile ntregi obinute.
EXEMPLU: Reprezentarea n baza 2 a numrului 23,65: 2.3 REPREZENTAREA BINAR A NUMERELOR NEGATIVE
Pentru reprezentarea numerelor negative, bitul din stnga reprezentrii binare este folosit ca bit de semn. Astfel avem bitul de semn: - 0 pentru numere pozitive (+); - 1 pentru numere negative (). Restul de N1 bii sunt folosii pentru reprezentarea valorii.
MSB
2310 = 101112
149
150
EXEMPLU:
Bitul de semn are semnificaia artat mai sus iar ceilali N-1 bii reprezint valoarea absolut a numrului.
EXEMPLU:
Pentru N=6 bii, deoarece 2N1 = 63, reprezentarea lui 13 se poate obine i altfel: 9 = 0 01001 9 = 1 01001 63 + (13) = 50 = 1100102 Se observ c numrul negativ este reprezentat prin schimbarea lui 0 n 1 i 1 n 0 (deci bitul din stnga are semnificaia de bit de semn). 21 = 0101012 = 1010102 (13) = 1100102 = 0011012 Din nou exist dou reprezentri ale lui zero: 000000 i 111111. Numerele maxime i minime ce pot fi reprezentate au n modul aceeai valoare.
2.3.3 Reprezentarea n complement fa de 2
Domeniul de reprezentare: - 2N1 valori pozitive de la 0 la 2N11. - 2N1 valori negative de la (2N11) la 0. Se observ c: a) avem dou reprezentri ale lui zero, 000000 i 100000. b) maximul i minimul (011111 i 111111) au aceeai valoare absolut. Principalele probleme sunt: a) existena a dou reprezentri ale lui zero; b) pentru adunri avem nevoie de dou sisteme de adunare i de scdere (n cazul numerelor negative).
2.3.2 Reprezentarea n complement fa de 1
Pentru numerele pozitive, reprezentarea n complement fa de 2 este identic cu reprezentarea numerelor binare cu semn. n cazul numerelor negative, reprezentarea numrului negativ este obinut prin adunarea lui 2N la valoarea negativ.
EXEMPLU:
Pentru numerele pozitive, reprezentarea n complement fa de 1 este identic cu reprezentarea numerelor binare cu semn. n cazul numerelor negative, reprezentarea este obinut prin complementarea (negarea) fiecrui bit. Aceast operaie este echivalent cu adunarea cu 2N1.
151
152
O metod mai rapid pentru obinerea complementului fa de 2 este: a) Se complementeaz fiecare bit; b) Se adun 1.
EXEMPLU:
n cele mai multe cazuri, procesoarele de semnal folosesc reprezentarea n virgul fix pentru o reducere a costului i a complexitii i pentru o vitez de prelucrare mai mare. Considernd reprezentarea unui cuvnt n memorie pe N bii vom avea un domeniu de 2N valori zecimale care pot fi reprezentate. 13 = 0011012 1100102 1100112 = 13 0011002 0011012 = +13 se adun 1: Reprezentarea numerelor cu semn se face n complement fa de 2.
2.4.1 Aritmetica numerelor ntregi n virgul fix
13 = 1100112 se adun 1:
Pentru reprezentarea numerelor ntregi n virgul fix n complement fa de doi cuvntul binar este interpretat ca avnd virgula la dreapta celui mai puin important bit (LSB). Cel mai important bit (MSB) este bit de semn. 2N1 2N2 ... s i N bii 20
.
se complementeaz biii:
Bitul din stnga rmne n continuare bit de semn. Exist o singur reprezentare a lui 0. Domeniul de reprezentare a numerelor ntregi n complement fa de 2: - 2N1 valori pozitive de la 0 la 2N11. - 2N1 valori negative de la 2N1 la 1. Avantajul reprezentrii n complement fa de 2 este c adunnd un numr cu complementul su fa de 2 rezultatul este 0 (ignornd depirea) ceea ce nu este valabil n cazul celorlalte reprezentri.
EXEMPLU:
2 N 1 , ..., 1,0,...,2 N 1 1
EXEMPLU:
Reprezentarea numerelor ntregi cu semn pentru N=4 bii: Zecimal 0 1 2 3 4 5 6 7 Binar 0000 0001 0010 0011 0100 0101 0110 0111 Zecimal -8 -7 -6 -5 -4 -3 -2 -1 Binar 1000 1001 1010 1011 1100 1101 1110 1111
153
154
Pentru N=4 bii, +3 2 1 1111 0011 1110 0001 5 +3 2 011 1011 0011 1110 3 4 7 11 1101 1100 1001
poziia iniial (al N-lea bit), spre stnga, pn la MSB-ul noului cuvnt binar.
EXEMPLU:
Transportul de la bitul cel mai semnificativ se ignor. Pot aprea depiri ale formatului de reprezentare dac rezultatul adunrii este mai mare ca 7 sau mai mic ca 8.
EXEMPLU:
+3 3
+3 3
nmulirea / mprirea cu o putere a lui 2 nmulirea cu 2k este echivalent cu deplasarea numrului binar cu k
Evident ambele rezultate sunt greite, depirea fiind greu de detectat. Se poate observa c, dac adunnd dou numere cu acelai semn, rezultatul are semn opus atunci a aprut depirea. Procesoarele de semnal pot utiliza aritmetica cu saturaie prin care, n cazul unei depiri, rezultatul este nlocuit cu valoarea limit a intervalului de reprezentare.
Scderea numerelor ntregi cu semn
3 3. 22 24 24/23
N=8 bii 0000 0011 0000 1100 0001 1000 0000 0011
3 3.22 24 24/23
N=8 bii 1111 1101 1111 0100 1110 1000 1111 1101
nmulirea numerelor ntregi fr semn n virgul fix necesit o dublare a preciziei reprezentrii rezultatului n caz contrar apar depiri. nmulirea n binar se face la fel ca n zecimal doar c sunt numai dou cifre (0 i 1).
Operaia de scdere este echivalent cu adunarea cu complementul fa de doi al desczutului (scderea unui numr e echivalent cu adunarea negativului numrului).
155
156
EXEMPLU:
Pentru N=4 bii, rezultatul va fi reprezentat pe cel mult 8 bii. 6 5 0110 0101 0110 0000 0110 __ 0000 + 30 0011110
11111101 00000101 11111101 __ 11111101 + 15 1111110001 Avnd n vedere c reprezentarea pe 8 bii a lui +15 este: 00001111 3 5 rezultatul nmulirii cu semn este corect. O alt metod de nmulire a dou numere cu semn este de a nmuli numerele n valoare absolut (nmulire fr semn) apoi se determin semnul rezultatului din semnele celor doi operanzi i se reprezint rezultatul (n complement fa de 2 dac e negativ).
mprirea numerelor ntregi
n exemplul de mai sus au fost suficieni 7 bii dar dac se nmulesc numere mai mari se poate avea transport i la al 8-lea bit. nmulirea poate fi privit i ca o succesiune de deplasri la stnga i adunri ale nmulitorului.
EXEMPLU:
n exemplul de mai sus numrul 5 poate fi scris: 5 = 20 + 2 2 Deci nmulirea poate fi calculat ca o sum:
6 5 = 6 ( 20 + 2 2 ) = 6 1 + 6 2 2
mprirea numerelor ntregi se face prin scderi repetate ale mpritorului din demprit la fel ca mprirea n zecimal.
EXEMPLU:
15| 3 5
nmulirea numerelor ntregi cu semn trebuie s ia n considerare i extensia de semn. Astfel, pentru o reprezentare a rezultatului pe 2N bii trebuie ca cei doi operanzi cu semn reprezentai fiecare pe N bii s fie extini la 2N bii naintea nmulirii. Pentru rezultatul nmulirii vor fi considerai cei mai puin semnificativi 2N bii.
157
158
Pentru o conversie mai rapid a unui numr fracionar din reprezentarea binar n zecimal se observ c f reprezentat n binar pe N=B+1 bii este
multiplu ntreg de 2B.
Fie i multiplul ntreg corespunztor. Avem: i = f 2B ceea ce este echivalent cu o deplasare la stnga cu B bii. Se obine n binar un numr ntreg i cu aceeai reprezentare ca f. 20 21 s . ... f 2B 20
.
Notnd cu B = N 1 numrul de bii alocai pentru valoarea fracionar, domeniul n care pot fi reprezentate numerele fracionare n complement fa de doi pe N bii este:
Astfel, pentru conversia binar-zecimal a unui numr fracionar se consider reprezentarea binar ca un numr ntreg cu semn i se mparte la 2B.
EXEMPLU:
Reprezentarea numerelor fracionare cu semn pentru N=4 bii: Zecimal 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 Binar 0000 0001 0010 0011 0100 0101 0110 0111 Zecimal -1 -0.875 -0.750 -0.625 -0.500 -0.375 -0.250 -0.125 Binar 1000 1001 1010 1011 1100 1101 1110 1111
Conversia din binar n zecimal, - pentru 0,010 0110 (N=8 bii, B=7) se calculeaz numrul ntreg: se mparte la 27=128: se calculeaz numrul ntreg n complement fa de 2: se mparte la 27=128: 0010 0110 = 3810 38/128 = 0.296875 1110 1100 0001 0100 = 2010 20/128 = 0.15625
159
160
EXEMPLU:
Invers, pentru conversia unui numr fracionar din reprezentarea zecimal n binar se nmulete numrul fracionar f cu 2B i se reprezint n binar partea ntreag i n complement fa de 2 pe N=B+1 bii.
EXEMPLU:
Pentru N=4 bii, 0,625 +0,375 0,25 011 1011 0011 1110 0,25 +0,375 0,125 111 1110 0011 0001
Conversia din zecimal n binar, - pentru 0,875 (N=8 bii, B=7) se nmulete cu 27=128: se reprezint n binar pe 8 bii: - pentru 0,625 (N=8 bii, B=7) se nmulete cu 27=128: se reprezint pe 8 bii: n complement fa de 2: - pentru 0,65 (N=8 bii, B=7) se nmulete cu 27=128: se reprezint partea ntreag: 0,65.128= 83,210 8310 = 010100112 0,625.128= 8010 8010 = 010100002 8010 = 101100002 0,875.128=11210 11210 = 011100002
Transportul de la bitul cel mai semnificativ se ignor. Pot aprea depiri ale formatului de reprezentare dac rezultatul adunrii este mai mare ca 12B sau mai mic ca 1.
EXEMPLU:
Pentru N=4 bii, 0,75 0,5 1,25 0110 0100 1010 = 0,75 0,875 0,25 1,125 1001 1110 0111 = 0,75
n ultimul exemplu apare fenomenul de trunchiere deoarece numrul fracionar 0,65 nu poate fi reprezentat exact pe 8 bii. Numrul 010100112 este n zecimal 0.6484375.
Adunarea numerelor fracionare cu semn
n cazul nmulirii numerelor fracionare apar unele dificulti. Rezultatul nmulirii n binar a dou numere reprezentate cu B bii pentru partea fracionar + 1 bit de semn va trebui reprezentat pe 2B bii + 1 bit de semn. Aceasta este echivalent cu o dublare a zecimalelor pentru numerele fracionare reprezentate n zecimal.