Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Reprezentarea numerelor in calculator



Reprezentarea numerelor in calculator


Reprezentarea numerelor in calculator



Reprezentarea numerelor intregi fara semn:


Consideram un cimp de k pozitii si un numar scris in baza p. Capacitatea unui cimp fix o putem deduce din valoarea celui mai mare intreg pozitiv pe care-l poate contine acest cimp _i anume:


(1) C = pk-1 unde am notat cu C capacitatea cimpului.


Fiecare pozitie in cadrul cimpului este caracterizata prin ponderea cifrei pe care o contine.  Invers, putem deduce lungimea necesara unui cimp (numarul de pozitii) pentru a putea fi reprezentat un numar intr-o anumita baza, astfel:


k=


In aceasta reprezentare fiecare cifra zecimala a unui numar se reprezinta ca o succesiune de cifre binare, prima cifra dinspre stanga reprezentand cel mai semnificativ bit (Most Significant Bit), iar ultima cifra (prima dinspre dreapta) reprezentand cel mai putin semnificativ bit (Least Significant Bit).




Exemplu:

numarul binar: 10110011 se reprezinta


Figura 1




Reprezentarea numerelor intregi cu semn:


Vom conveni, in cazul numerelor cu semn, ca pozitia cea mai  semnificativa (cea mai din stinga) in cadrul cimpului sa indice semnul, astfel:

bitul 1   - semnul '-'


In cazul numerelor cu semn avem   -pk-1 < C < pk-1-1


In aceasta reprezetare exemplul de mai devreme se codifica:


Figura 2



Exemple de locatii in care se pot reprezenta numerele:


bit   - o cifra binara 0,1

octet               - 8 biti (pot fi reprezentate numere fara semn cuprinse intre 0 .. 255

quartet           - 4 biti (nibble) --> 0..15

cuvint             - 16 biti (word) --> 0 .. 216 - 1 (65535)

dublu cuvint   - 32 biti (dword) --> 0 .. 232 - 1

cvadruplu cuvint    - 64 biti (qword) --> 0 .. 264 - 1



Reprezentarea numerelor in virgula fixa:


Aceasta reprezentare mai este numita si 'naturala', numarul fiind reprezentat ca o succesiune de cifre binare, impartite de o marca zecimala intr-o parte intreaga si una zecimala.

In reprezentarea in virgula fixa fiecare numar se inregistreaza in memorie in locatii de lungime constanta astfel:

un bit pentru codificarea semnului;

un numar dat de biti pentru inregistrarea partii intregi;

restul de biti sunt folositi pentru inregistrarea partii fractionare.

Mentionam ca, intr-o astfel de locatie, marca zecimala nu este reprezentata in nici

un fel, ea fiind virtuala.


Reprezentarea schematica a unei locatii de 14 biti, unul pentru semn, 5 pentru

pastrarea partii intregi, iar 8 pentru pastrarea partii fractionare.

Figura 3


Exemplu:

Numarul se reprezinta sub forma

Figura 4


iar numarul - 1100,0110101 se reprezinta sub forma:

Figura 5


Facem mentiunea ca pozitiile neocupate cu cifre semnificative se completeaza cu zerouri


Aceasta reprezentare limiteaza game numerelor ce pot fi inregistrate in memoria unui calculator. Astfel, daca i este numarul bitilor rezervati partii intregi, iar f este numarul bitilor rezervati partii fractionare, numarul maxim care poate fi reprezentat

este:

Figura 6


La efectuarea operatiilor aritmetice asupra numerelor reprezentate in virgula fixa se pot obtine rezultate a caror parte intreaga sa contina mai multe cifre decat numarul bitilor locatiei rezervate acestui scop. In acest caz spunem ca avem o depasire a capacitatii locatiei.

Rezulta ca o depasire a capacitatii locatiei duce la deformarea rezultatului. Pentru evitarea acestui lucru se folosesc asa-numitii factori de scara, cu care se amplifica in prealabil toate numerele ce intervin in rezolvarea problemei respective.



Reprezentarea numerelor in virgula mobila (flotanta):


Daca in cazul reprezentarii in virgula fixa a numerelor sarcina de a tine evidenta marcii zecimale revine programatorului, in cazul numerelor reprezentate in virgula mobila, aceasta sarcina cade in seama calculatorului.

Pentru a reprezenta un numar real r in virgula mobila el trebuie scris sub forma:



unde M, b, E poarta respectiv denumirea de mantisa, baza si exponent.

O astfel de reprezentare nu este unica. De exemplu, in baza 10, vom avea:

Inlaturam acest inconvenient convenind sa consideram acea reprezentare in care mantisa M satisface relatia:


numita reprezentare normala (normalizata).


Rezulta atunci, ca pentru reprezentarea unui astfel de numar, bitii unei locatii sunt impartiti in 4 grupe, pentru marcarea semnului mantisei, cifrelor partii fractionare ale mantisei, semnului exponentului si a exponentului. Ca urmare, structura unei locatii cu n pozitii pentru inregistrarea mantisei si m pozitii pentru inregistrarea exponentului, va avea forma:

Figura 7


Exemplu:

Fie numarul: r


Intr-o locatie a dispozitivului de memorie cu m = 4 si n = 10 va fi reprezentat sub forma:



















Figura 8


Si in cazul acestei reprezentari gama numerelor ce pot fi folosite este limitata. Se observa ca valoarea maxima a exponentului este:


m biti

si ca mantisa este subuitara. Deci, numarul real x cu proprietatea nu poate fi reprezentat. O multime finita E de numere reale in intervalul sunt reprezentabile prin valoarea lor exacta, celelalte fiind reprezentate aproximativ prin cel mai apropiat punct din E.



Reprezentarea numerelor in cod complementar fata de 1 (cod invers):



Pentru a obtine complementul fata de 1 al unui numar binar, se inverseaza toate cifrele numarului.


Se poate scrie relatia:


Ncmpl1 = 2n-1 - abs(N)-1 unde:


n = lungimea cimpului care contine numarul (inclusiv semnul !!)

abs(N) - numarul in valoare absoluta


Ex: 0101 ----->(complement 1) 1010



Reprezentarea numerelor in cod complementar fata de 2 (cod direct)



Pentru a obtine complementul fata de 2 al unui numar binar, sunt doua metode:

- se obtine complementul fata de 1 si se aduna 1

- se inverseaza toate cifrele numarului de la dreapta la stinga pana la ultimul 1


Se pot scrie relatiile:


Ncmpl2 = 2n-1 - abs(N)


Ncmpl1 = Ncmpl2 - 1 sau Ncmpl2 = Ncmpl1 + 1


Ex: 0101 ---->(complement 1) 1010 +

1

----

1011


sau: 0101 ---> (direct, complement 2) 1011





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright

stiinta

Informatica



Access
Autocad
Baze de date
C
Calculatoare
Catia
Excel
Foxpro
Grafica design
Html
Internet
Java
Linux
Mathcad
Matlab
Oracle
Outlook
Photoshop
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Esee pe aceeasi tema


Inscriptoare de dvd-uri
Bara de meniu
Proiect Visual Fox Pro
Arbori
Metode generale de elaborare a algoritmilor (i)



Ramai informat
Informatia de care ai nevoie
Acces nelimitat la mii de documente. Online e mai simplu.

Contribuie si tu!
Adauga online documentul tau.