Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Principiul reprezentarii nr in sistemul cu virgula mobila
În acest sistem de repr un numar oarecare x se considera dat sub forma: x = xs*bxe *xm unde: Xs= semnul nr,xe= este exponentul, b= baza sistemului de numeratie folosit, xm este o fractie subunitara denumita mantisa nr. Mantisei nr i se impune de obicei conditia suplimentara ) < Xm < 1. Mantisele care indeplinesc aceasta conditie se numesc mantise normalizate. De asemenea, pt ca atat mantisa cat si exponentul sa poata fi considerate nr fara semn, se procedeaza in mod curent la polarizarea exponentului cu o asa numita constanta de polarizare, astfel incat prin adaugarea constantei de polarizare sa se obtina o caracteristica pozitiva (sau zero) a numarului: xc=xe+p, unde xc= caracteristica nrului, xe= exponentul nrului,p= constanta de polarizare. În calculator, pt nr reprezentate in sistemul cu virgula mobila se memoreaza codificate sub forma de nr binare, semnul nrului, caracteristica sa si mantisa. Acest mod de reprezentare permite largirea considerabila a domeniului nr care pot fi cuprinse in registrele calculatorului, avand un anumit numar de pozitii binare.
Pentru efectuarea adunarii si scaderii numerelor in sistemul cu virgula mobila este necesar un dispozitiv aritmetic pt exponenti (UAE) si doua registre suplimentare AS si MS care prelungesc registrul acumulator, respectiv registrul M. Initial cei doi operanzi se gasesc in registrele compuse MS-M, respectiv AS-A, primele opt pozitii din MS si AS, de la stanga la dreapta, semnul si caracteristica, iar restul pozitiilor din MS si M respectiv AS si A mantisa. Operatia incepe prin scaderea caract celor doi operanzi (CA si CM) in UAE, in vederea alinierii operanzilor. Alinierea se face aducand caracteristica mai mica la valoarea celei mai mari prin deplasari succesive cu patru pozitii la dreapta (cu cate o cifra hexazecimala) a mantisei numarului si marirea cu o unitate a caract. Alinierea are rost numai atunci cand diferenta intre cele doua caract este mai mica decat 6 (numarul cifrelor hexazecimale din mantisa), in caz contrar, numarul cu caracteristica mai mica devine neglijabil fata de numarul cu caracteristica mai mare. Deoarece alinierea se poate face numai in registrul A, numarul cu caract mai mica trebuie adus in acest registru. Operatia de deplasare cu patru pozitii la dreapta (operatia 4ddc, blocul 7) se efectueaza in codul complementar asupra registrului compus format din AS-A-CG, unde CG este un grup de 4 bistabile care pastreaza cifra cea mai putin semnificativa din A, denumita cifra de garda. Dupa fiecare deplasare cu 4 c b, se scade (sau se aduna o unitate, functie de semnul diferentei caract) din continutul registrului exponentului E. Cand acesta devine nul s-a terminat alinierea.Pt a incepe op asupra mantiselor se pastreaza in primul rand caract rez, caract operandului din MS, si se inscrie in locul ei 0 sau 1 functie de semnul operandului (blocul 10). Apoi, in cazul in care pt aliniere s-au schimbat operanzii, in registrele A si M, acestia se aduc la locul lor; faptul ca s-au schimbat sau nu s-a retinut in bistabilul R. Acum atat in registrele AS si MS, cat si in registrele A si M se gasesc mantisele operanzilor. Adunarea lor se face cu unitatea aritmetica pt virgula fixa, UAM, in doua etape, in primul rand se aduna partile mai putin semnific din A si M rezultatul inscriindu-se in AS in paralel cu deplas cont registrelor AS si MS in A respectiv M, iar a registrului M in MS. Eventualul transport se memoreaza in bistabilul RE al sumatorului si se ia ca transport initial la insumarea partilor mai semnificative ale mantiselor, aflate in acest moment in registrele A si M. Rezultatul se inscrie din nou in AS in paralel cu transferurile amintite mai sus (AßAS, M ß MS, MS ß M). Mantisa rezultatului se afla acum in registrele AS si A. Daca la adunare s-a produs o depasire cu o cifra hexazecimala mantisa se deplaseaza la dreapta (4ddc) si se mareste caracteristica cu o unitate, iar daca s-a produs o denormalizare mantisa se deplaseaza cu cate o cifra hexazecimala la stanga si se scade cate o unitate din caracteristica rezultatului pana cand acesta se normalizeaza. Apoi se aduce caracteristica, pastrata in registrul E. În cazul formatelor medii si lungi se procedeaza in principiu la fel, numai ca se repeta de mai multe ori ciclul de insumare al mantiselor, respectiv sunt necesare mai multe registre suplimentare si implicit deplasari ale continutului acestora. Efectuarea inmultirii si impartirii in sistemul cu virgula mobila se efctueaza adunand caracteristicile in UAE si inmultind apoi mantisele prin adunari repetate in UAM, dupa care se normalizeaza -mantisa rezultatului si se inscrie caracteristica. La impartire se scad caracteristicile si se impart mantisele.
Copyright © 2024 - Toate drepturile rezervate