Você está na página 1de 15

Aritmetica tehnicii de calcul Sisteme de numeraie Numerele se reprezint prin simboluri elementare denumite cifre.

Totalitatea regulelor de reprezentare a numerelor mpreun cu mulimea cifrelor se numete sistem de numeraie. Numrul cifrelor definete baza sistemului de numeraie. Prezentm sisteme de numeraie cel mai des folosite n tehnica de calcul n tabelul de mai jos (tab. 1): Tabel 1.1 Sistem de numeraie Zecimal Binar Octal Hexazecimal Baza 10 2 8 16 Caractere permise 0,1,2,3,4,5,6,7,8,9 0,1 0,1,2,3,4,5,6,7 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

n tabelul 1.2 sunt date reprezentarile unor i aceleai numere n diferite baze. Tabelul 1.2 Zecimal (b10) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binar (b2) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Octal (b8) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Hexezecimal (b16) 0 1 2 3 4 5 6 7 8 9 A B C D E F

Sistemele n care semnificaia cifrelor depinde de poziia ocupat n cadrul numerelor se numesc sisteme de numeraie poziionale. Ex: (245,37)=(245,37)10=2*102+4*101+5*100+3*10-1+7*10-2=200+40+5+0,3+0,07=245,37. Presupunem, c numrul N are partea ntreg format din n+1 cifre, iar partea fracionar din m cifre: N=cncn-1c1c0,c-1c-m

Valoarea acestui numr se evalueaz n funcie de baza sistemului dup cum urmeaz: (N)b=cnbn+cn-1bn-1+...+c0b0+c-1b-1+...+c-mb-m Efectund calculele respective, se va realiza conversia numrului (N)b din baza b n sistemul zecimal. Ex: (101,1)2=1*22+0*21+1*20+1*2-1=5,5 (101,1)8=1*82+0*81+1*80+1*8-1=65,125

Conversia numerelor dintr-un sistem n altul Conversia numrului (N)b n echivalentul su n baza b se efectuiaz conform urmtoarelor reguli: 1. Se mparte la baza respectiv partea ntreag i cturile obinute dup fiecare mprire, pn cnd se obine cturl zero; rezultatul conversiei prii ntregi este constituit din resturile obinute, considerate n ordinea invers de apariie. 2. Se nmulete cu baza partea fracionar, apoi toate prile fracionare obinute din produsul anterior, pn cnd partea fracionar a unui produs este zero sau pn la obinerea unui numr de cifre fracionare dorit; rezultatul conversiei prii fracionare este constituit din prile ntregi ale produselor, considerate n ordinea invers de apariie. Exemple de transformare a numerelor din sistemul zecimal n alte sisteme de numeraie: 1. b10b2, (98,35)10 b2 98:2=49+0/2 49:2=24+1/2 24:2=12+0/2 12:2=6+0/2 6:2=3+0/2 3:2=1+1/2 1:2=0+1/2 Obinem rspunsul: (98,35)10(1100010,01011)2 2. b10b8, (328,12)10 b8 328:8=41+0/8 41:8=5+1/8 5:8=0+5/8 0,12*8=0,96 0,96*8=7,68 0,68*8=5,44...i aa mai departe 0,35*2=0,7 0,7*2=1,4 0,4*2=0,8 0,8*2=1,6 0,6*2=1,2...i aa mai departe

Obinem rspunsul: (328,12)10 (510,075)8

3. b10b16, (2317,1134)10 b16 2317:16=144+13/16 144:16=9+0/16 9:16=0+9/16 0,1134*16=1,8144 0,8144*16=13,0304 0,0304*16=0,4864 0,4864*16=7,7824...i aa mai departe Obinem rspunsul: (2317,1134)10 (90D,1D07)8 Conversia din binar n octal, hexazecimal i invers Deoarece cifrele octale se codific n binar pe 3 poziii, atunci conversiunea binar-octal i octal-binar se poate face direct: Binar (b2) 000 001 010 011 100 101 110 111 Ex: (1100101)2=001 100 101=(145)8 Deoarece cifrele hexazecimale se codific n binar pe 4 poziii, atunci conversiunea binarhexazecimal i hexazecimal-binar (tabelul 1.2) se poate face direct: Ex: (111010010011)2=1110 1001 0011=(E93)16 Ex: (EA)16=(1110 1010)2=011 101 0102=(352)8 Conversia se efectuiaz pornind de la poziia virgulei spre stnga pentru partea ntreag, respectiv dreapta pentru partea fracionar, gsind echivalentul respectiv. Pentru completarea unui grup de de trei cifre binare (n octal) sau 4 cifre binare (n hexazecimal), zerourile din faa numrului, respectiv dup ultima cifr a prii fracionare nu modific semnificaia numrului. Operaii aritmetice cu numere fr semn Adunarea Adunarea a dou cifre n baza q este o operaie modulo q, deci cifra cu valoarea cea mai mare va fi q-1 (de exemplu, 9 n zecimal, 1 n binar, F n hexazecimal). Dac rezultatul adunrii a dou cifre de rang i depete aceast valoare, va apare un transport ctre rangul i+1, care se va aduna la suma cifrelor de rang i+1. Apariia unui transport de la cifra cea mai semnificativ indic o depire a capacitii de reprezentare a rezultatului. Octal (b8) 0 1 2 3 4 5 6 7

n cazul adunrii binare, cifra sumei este 1 dac unul din termenii adunrii este 1. Cifra de transport este 1 numai dac ambii termeni ai adunrii sunt 1. n Tabelul 1.3 se prezint regula de adunare a dou cifre binare x i y.

Tabelul 1.3

Ex:

Scderea La scderea a dac cifre de rang i, dac cifra desczutului este mai mic dect cifra scztorului, apare un mprumut de la rangul i+1. n cazul scderii binare, diferena este 1 dac fie desczutul, fie scztorul este 1. mprumutul apare numai dac desczutul este 0 i scztorul este 1. n Tabelul 1.4 se prezint regula de scdere a dou cifre binare x i y. Tabelul 1.4

Ex:

nmulirea

nmulirea se efectueaz de obicei prin adunarea repetat a unor produse pariale. La nmulirea a dou cifre binare, produsul este 1 numai dac denmulitul i nmulitorul sunt 1. n Tabelul 1.5 se prezint regula de nmulire a dou cifre binare x i y. Tabelul 1.5

Ex:

mprirea mprirea a dou numere nu se poate efectua dac mpritorul este egal cu zero. Fiind dat dempritul X i mpritorul Y, pentru operaia de mprire trebuie s se determine ctul Q i restul R, astfel nct s fie satisfcut relaia: X=QY+R La mprirea zecimal se determin cifrele ctului prin alegerea unei cifre i scderea din restul parial (care este iniial o parte a dempritului) a produsului dintre aceast cifr i mpritor. Dac rezultatul scderii este un numr pozitiv mai mic dect mpritorul, cifra aleas este corect. n caz contrar, se alege o alt cifr i operaia se repet. n fiecare etap a operaiei se obine o cifr a ctului. n cazul mpririi binare, dac se alege n mod eronat o cifr a ctului, o nou alegere nu mai este necesar, existnd numai dou cifre. Operaia de mprire se va reduce la o serie de scderi ale mpritorului din restul parial, care se efectueaz numai dac restul parial este mai mare dect mpritorul, caz n care cifra ctului este 1; n caz contrar, cifra corespunztoare a ctului este 0. Ex:

Adunarea i nmulirea n sistemul octal i hexazecimal. Operaiile aritmetice cu numerele octale se fac dup aceleai reguli, ca cele cunoscute pentru numerele zecimale. Se observ c: la adunare i nmulire rezultatul va fi constituit din restul mpririi sumei sau produsului la baz, ctul constituind transportul pentru poziia urmtoare; la scdere, un mprumut de la poziia urmtoare a numrului nseamn adunarea la desczutul poziiei curente, a bazei de numeraie. Tabelul 1.6 Adunarea i nmulirea octal

Tabelul 1.7 Adunarea hexazecimal

Tabelul 1.8 nmulirea hexazecimal

Ex.: adunarea n octal


transport 1

Ex.: scderea n octal


transport 1

723o + 523o 1446o

532o 251o 261o

La adunare, n rangul doi, la adunarea cifrelor 7o i 5o se produce un transport, deoarece7z+5z=12z este o valoare mai mare dect valoarea bazei care este 8. n acest caz se procedeaz astfel: se scade din valoarea obinut valoarea bazei 12z-8z=4z, valoarea respectiv se scrie pe rangul doi i avem un transport la rangul 3. La scdere, de pe rangul unu: 3o-5o, trebuie s se efectuieze un mprumut din rangul superior. O cifr mprumutat din rangul superior nseamn opt unitin rangul superior. Deci, n urma mprumutului, avem: 8z+3z-5z=6z. n hexazecimal operaiile sunt similar ca i n octal, cu excepia faptului c baza are valoare aisprezece. Ex.: adunarea n hexazecimal
transport 111

Ex.: scderea n hexazecimal


transport 11

2A57h + 5C2Bh 57B9h 3ACFh 8210h 215Ch n cazul mprumutului, de pe rangul superiorse mprumuta aisprezece uniti. De exemplu, Bh-Fh, avem un mprumut i se obine: 16z+11z(Bh)-15z(Fh)=12z(Ch).

Reprezentarea numerelor naturale n calculator

Numerele naturale N={0,1,2,...} se realizeaz pe un numr fix de poziii binare (8,16,32,64,).


n-1 n-2

2n-1

2n-2 21 20 Fig. 1 Reprezentarea numerelor natural pe n poziii binare

n poziiile 0,1,,n-1 snt scrise cifrele binare ale numrului natural reprezentat n sistemul binar. Alinierea numerelor binare se realizeaz la dreapta, poziiile goale fiind complectate cu zerouri. Pe n poziii binare pot fi reprezentate numere natural din intervalul {0,...,2n-1}.

Reprezentarea numerelor ntregi n calculator nu exist posibilitatea ntroducerii directe a semnelor + i -, ataate numerelor positive i negative. Din acest motiv, reprezentarea semnului se face cu ajutorul unui cifre binare, denumit cifr semn, aezat n poziia n-1: S={
n-1 n-2

2n-1

2n-2 21 20 Fig. 1 Reprezentarea numerelor ntregi pe n poziii binare

Se cunosc trei moduri de reprezentare a numerelor ntregi: Codul direct. Scrierea unui numr n acest cod n cifra semn se scrie 0, dac numrul este pozitiv i 1, dac el este negative; n partea de valoare se nscrie numrul n sistemul binar. Intervalul posibil, admis de reprezentarea n cod direct este: {1-2n-1,...,2n-1-1}. Ex. + 52
7 6 5 4 3 2 1 0

Ex. - 52
7 6 5 4 3 2 1 0

0 S

1 S

Codul invers. Pentru numerele positive scrierea este identic cu cea din codul direct. Dac numrul este negative, el se scrie mai nti ca i cum ar fi pozitiv, apoi se inverseaz fiecare cifr binar (01 i 10). Pe n poziii binare n cod invers pot fi reprezentate numere ntregi din intervalul: {1-2n-1,...,2n-1-1}.

Ex. + 52
7 6 5 4 3 2 1 0

Ex. - 52
7 6 5 4 3 2 1 0

0 S

1 S

Codul complementar. n acest cod numerele positive au aceeai reprezentare ca i codul direct i invers. Dac numrul este negative, el se scrie mai nti n codul invers, apoi se adun 1 la cifra cea mai puin semnificativ (poziia binar 0). n acest cod pe n poziii binare pot fi reprezentate numere ntregi din intervalul: {-2n-1,...,2n-1-1}. Ex. + 52
7 6 5 4 3 2 1 0

Ex. - 52
7 6 5 4 3 2 1 0

0 S

1 S

1 +1

-52 n cod invers


7 6 5 4 3 2 1 0

1 S

-52 n cod complementar Adunarea i scderea numerelor ntregi Adunarea numerelor pozitive se efectueaz n binar poziie cu poziie. Transportul de lapoziia n-2 va indica faptul, c suma depete numrul maxim care poate fi reprezentat pe n poziii binare.
7 6 5 4 3 2 1 0

0 S
7

61 +

0 S
7

52 =

0 S

113

Scderea. Pentru a nu folosi alt dispozitiv pentru scdere, operaia respectiv se transform n adunare: a-b=a+(-b). S-a demonstrat, c scderea se transform n adunare prin reprezentarea scztorului n cod invers sau cod complementar. Scderea n cod invers presupune: dac rezultatul scderii este un numr negativ, aceasta este reprezentat tot n cod invers; dac apare transport de la poziia alocat semnului, aceasta se va aduna la cifra cea mai puin semnificativ a rezultatului.

Fig. Scderea 61-52 pe 8 poziii binare n cod invers

Fig. Scderea 52-61 pe 8 poziii binare n cod invers Scderea n cod complementar presupune: dac rezultatul scderii este un numr negativ, aceasta este reprezentat tot n cod complementar; dac apare transport de la poziia alocat semnului, acesta se ignor.

Fig. Scderea 61-52 pe 8 poziii binare n cod complementar

Fig. Scderea 52-61 pe 8 poziii binare n cod complementar

Reprezentarea numerelor reale Exist dou modaliti de reprezentare a numerelor reale: 1. Reprezentarea n virgul fix n acest caz se consider c toate numerele au virgul plasat n aceeai poziie, imediat dup poziia cifrei semn; caz n care numerele snt fracii pure. Pe n poziii binare pot fi reprezentate numerele reale, valoarea absolut ale crora este: 0,000x0,111
n-1 n-2 n-3

sau

0x1-2-(n-1)
1 0

2-1

2-2

2-(n-1)

Poziia virgulei

0 S
7

+0,9375

1 S

-0,9375

2. Reprezentarea n virgul mobil Numerele reprezentate n virgul mobil pot fi numere ntregi sau fracionare. A cror valoare este dat de relaia: x=M*bE, b valoare bazei, M este un numr subunitar numit mantis, iar E este un exponent. Numrul reprezentat n virgul mobil este normalizat, dac prima cifr dup virgul a mantisei este diferit de zero. Ex: 23=(10111)2=0,10111*25 4,9375=(100,1111)2=0,1001111*23 -0,375=(-0,011)2= -0,11*2-1 Se observ, c poziia real a virgulei n cadrul numrului depinde de valoarea exponentului, adic virgule este mobil. Exist mai multe variante de reprezentare a mantisei i exponentului pe n poziii binare:

Formatul exponent-mantis
Semn mantis

nE Exponent
Semn exponent

nM Mantis

nE numrul de poziii binare alocate exponentului (domeniul de mrime a numerelor care pot fi reprezentate), nM precizia de exprimare a numrului. Formatul caracteristic mantis.
Semn mantis

nc Exponent

nM Mantis

Caracteristica C constituie o form de exprimare a exponentului E i se determin din relaia: C=E+K, unde K=2nc-1-1, unde nc este numrul de poziii binare alocate caracteristicii. n aceast reprezentare caracteristica, spre deosebire de exponent, nu poate lua valori negative, ceea ce ne permite s simplificm o cifr semn. De exemplu: pentru nc=8, C=E+127, indicnd semnul exponentului: dac C127, atunci E0;

dac C<127, atunci E<0.

Operaii n virgul mobil Adunarea i scderea a dou numere n virgul mobil se efectuiaz astfel: se compar cei doi exponeni pentru a-l determina pe cel mai mare; se aliniaz mantisa numrului cu exponent mai mic prin deplasarea virgulei cu un numr de poziii egal cu diferena exponenilor; Ex: se adun (se scad) mantisele aliniate, atribuind rezultatului exponentul comun; eventual se normalizeaz mantisa rezultatului cu modificarea exponentului. x=15=(1111)2=0,1111*24 y=1,75=(1,11)2=0,111*21 deoarece x are exponentul mai mare, y se va alinia cu 3 poziii: y=0,000111*24 x+y= 0,111100*24
+

0,000011*24 1,000011*24 Dup normalizare se obine x+y=0,1000011*25=16,75. Ex: Se efectuiaz 13-0,25 x=13=(1011)2=0,1011*24 y=0,25=(0,01)2=0,1*2-1 y se va alinia cu 5 poziii: y=0,000001*24 x-y= 0,101100*24
+

0,000001*24 1,101011*24 Normalizarea nu este necesar i obinem: x-y=0,101011*24=12,75 n procesul de aliniere a operanzilor i de normalizare a rezultatelor numrul cifrelor mantisei poate s depeasc numrul de poziii binare nM alocate pentru reprezentarea mantiselor. n consecin, biii mai puin semnificativi (din dreapta) se vor pierde. n astfel de cazuri rezultatul operaiei repsective este aproximativ. nmulirea i mprirea presupune: nmulirea (mprirea) mantiselor; adunarea (scderea) exponenilor; normalizarea rezultatului.

Reprezentarea zecimal codificat binar Reprezentarea zecimal codificat binar se realizeaz prin exprimarea fiecrei cifre zecimale ntr-o tetrad binar conform unui anumit cod numeric, cum se arat n tabelul 1.9.

Tabelul 1.9. Coduri numerice Cifra 0 1 2 3 4 5 6 7 8 9 Direct 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Denumirea codului Gray Aiken Exces 1 0000 0000 0011 0001 0001 0100 0011 0010 0101 0010 0011 0110 0110 0100 0111 0111 1011 1000 0101 1100 1001 0100 1101 1010 1100 1110 1011 1101 1111 1100

Cel mai ultilizat este codul zecimal codificat binar, BCD (Binary Coded Decimal). Se observ c din cele 16 valori distincte ce se pot reprezenta pe 4 poziii binare, doar primele 10 snt folosite. Avantajul acestei codificri este corespondena direct ntre cifra zecimal i valoarea sa. Operaii n BCD: Adunarea n BCD presupune: exprimarea fiecrei cifre zecimale printr-o tretrad binar; efectuarea adunrii poziie cu poziie de la dreapta la stnga; dac n rezultatul adunrii a dou cifre se obine numr binar ce nu reprezint o cifra zecimal, sau apare transportul, la rezultatul obinut se adaug numrul 6 (0110) n binar. Ex: 187+298=485 x=187= y=298=
transport

0001 1000 0111 0010 1001 1000 0100 0001 1111 1 0110 0100 0010 0101 0110 + 0100 1000 0101 4 8 5

+ = + =

Scderea n BCD presupune: fiecare cifr zecimal se exprim pritr-o tetrad binar; se efectueaz scderea poziie cu poziie; dac pentru o poziie nu e necesar mprumutul de la poziia urmtoare, atunci rezultatul este corect; dac este necesar un mprumut, se scade 6 n binar din rezultat.

Ex: 529 345=184


mprumut 1 1

x=187= y=298=

0101 0010 1001 0011 0100 0101 = 0001 1110 0100 0110 = 0001 1000 0100 1 8 4 Reprezentarea zecimal codificat binar se utilizeaz pentru aplicaiile n care se

prelucreaz, cu operaii simple, un numr foarte mare de numere.

Você também pode gostar