Sunteți pe pagina 1din 7

Bazele Informaticii Laborator nr.

Modalităţi de reprezentare a numerelor în sistemele de calcul

Reprezentarea numerelor întregi fără semn:

Consideram un câmp de k poziții și un număr scris în baza p. Capacitatea


unui câmp fix o putem deduce din valoarea celui mai mare intreg pozitiv pe
care-l poate contine acest câmp şi anume:

(1) C = pk unde am notat cu C capacitatea câmpului.


Fiecare poziție in cadrul câmpului este caracterizata prin ponderea cifrei
pe care o contine. Invers, putem deduce lungimea necesara unui câmp (numarul
de pozitii) pentru a putea fi reprezentat un numar intr-o anumita baza, astfel:
k= log p C

În această reprezentare fiecare cifră zecimală a unui număr se reprezintă


ca o succesiune de cifre binare, prima cifră dinspre stânga reprezentând cel mai
semnificativ bit (Most Significant Bit), iar ultima cifră (prima dinspre dreapta)
reprezentând cel mai puţin semnificativ bit (Last Significant Bit).
Exemplu: numărul binar: 1011001 se reprezintă
6 5 4 3 2 1 0
1 0 1 1 0 0 1
0 Figura 1

Reprezentarea numerelor întregi cu semn:

Vom conveni, în cazul numerelor cu semn, că poziția cea mai


semnificativă (cea mai din stânga) în cadrul câmpului să indice semnul, astfel:
0 - numar pozitiv

1 - numar negativ
În cazul numerelor cu semn avem -pk-1-1 < C < pk-1-1
În această reprezetare exemplul de mai devreme se codifică:
7 6 5 4 3 2 1 0
0 1 0 1 1 0 0 1
Figura 2

1
Bazele Informaticii Laborator nr.3

Exemple de locaţii de memorie în 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 numărului N  bn2 bn 3. .................b1b0 se face după regula:

0, bn2 bn3. .................b1b0 pentru N  0


N marime,semn  
1, bn2 bn3. .................b1b0 pentru N  0

Exemplu:
N= - 1011  N MS  11011
Facem menţiunea că pentru numărul 0 vor exista două reprezentări:
  0  00000000

  0  10000000

Reprezentarea numerelor în cod complementar fata de 1 (cod invers):


Pentru a obține complementul față de 1 al unui număr binar, se inversează
toate cifrele numărului.
Se poate scrie relația:
 N , pentru N  0
N complement1   n
2  N  1, pentru N  0
unde:
- n = lungimea câmpului care contine numarul (inclusiv semnul !!)
- |N| - numărul în valoare absolută

Exemplu pentru n = 5 biți:


N  1100  12  N C1  01100
N  13  1101  N C1  10010

2
Bazele Informaticii Laborator nr.3

Reprezentarea numerelor în cod complementar fata de 2 (cod


complementar):

Pentru a obține complementul față de doi al unui număr binar, sunt trei
metode:
- se obține complementul față de 1 și se adună 1
- se inversează toate cifrele numărului de la stânga la dreapta, cu excepția
primului bit de 1 întâlnit și zerourile dinaintea sa
- se efectuează scăderea 2n - |N|, cu n număril de biți.

Se pot scrie relatiile:


 N , pentru N  0
N complement 2   n
2  N , pentru N  0

Ncmpl1 = Ncmpl2 - 1 sau Ncmpl2 = Ncmpl1 + 1

Exemplu pt n = 5 biți:
N  1100  12  N C2  01100
N  13  1101  N C2  10011

Reprezentare a numerelor reale în sistemele de calcul

În sistemele de calcul se operează cu numere de lungime fixă, numărul de


cifre (în general 16, 32 sau 64 poziţii binare) fiind determinat de numărul de
poziţii din care sunt construite registrele utilizate.
Virgula nu este realizată fizic în sistemul de calcul, iar poziţia ei este
stabilită iniţial prin proiectare şi nu poate fi schimbată.
Pentru reprezentarea numerelor în calculator se folosesc două formate de
reprezentare: formatul cu virgulă fixă şi formatul cu virgulă mobilă.

Reprezentarea informaţiei numerice în virgulă fixă

În reprezentarea în virgulă fixă fiecare număr se înregistrează în memorie în


locaţii de lungime constantă astfel:
 un bit pentru codificarea semnului;
 un număr dat de biţi pentru înregistrarea părţii întregi;
 restul de biţi sunt folosiţi pentru înregistrarea părţii fracţionare.

3
Bazele Informaticii Laborator nr.3

Reprezentarea schematică a unei locaţii de 14 biţi, unul pentru semn, 5


pentru
păstrarea părţii întregi, iar 8 pentru păstrarea părţii fracţionare.

0 1 2 3 4 5 6 7 8 9 10 11 12 13

























semn parte întreagã parte fractionarã
Figura 1
Exemplu:

Numărul +10011,01010101 se reprezintă sub forma:

0 1 2 3 4 5 6 7 8 9 10 11 12 13

0 1 0 0 1 1 0 1 0 1 0 1 0 1
,
Figura 2

iar numărul - 1100,0110101 se reprezintă sub forma:

0 1 2 3 4 5 6 7 8 9 10 11 12 13

1 0 1 1 0 0 0 1 1 0 1 0 1 0
,
Figura 3

Facem menţiunea că poziţiile neocupate cu cifre semnificative se


completează cu zerouri.

Această reprezentare limitează gama numerelor ce pot fi înregistrate în


memoria unui calculator. Astfel, dacă i este numărul biţilor rezervaţi părţii
întregi, iar f este numărul biţilor rezervaţi părţii fracţionare, numărul maxim
care poate fi reprezentat este:

4
Bazele Informaticii Laborator nr.3

Nmax  011..........1,11...........1  2i  2f














i f
Figura 4

La efectuarea operaţiilor aritmetice asupra numerelor reprezentate în


virgulă fixă se pot obţine rezultate a căror parte întreagă să conţină mai multe
cifre decât numărul biţilor locaţiei rezervate acestui scop. În acest caz spunem că
avem o depăşire a capacităţii locaţiei.
Rezultă că o depăşire a capacităţii locaţiei duce la deformarea rezultatului.
Pentru evitarea acestui lucru se folosesc aşa-numiţii factori de scară, cu care se
amplifică în prealabil toate numerele ce intervin în rezolvarea problemei
respective.

Reprezentarea informaţiei numerice în virgulă mobila


Reprezentarea în virgulă mobilă s-a impus datorită necesităţii de a
reprezenta în sistemele de calcul numere foarte mari sau foarte mici cu un grad
de precizie ridicat. La baza acestui mod de reprezentare se situează
reprezentarea numerelor reale (mai precis a numerelor raţionale) cu ajutorul
mantisei şi exponentului; exponentul indică ordinul de mărime al numărului
printr-o putere a bazei, iar mantisa exprimă mărimea numărului în cadrul
ordinului respectiv.
Dacă baza aleasă este b rezultă următoarea reprezentare a numărului
(unică dacă numărul este normalizat, adică dacă prima cifră după marca
zecimală este nenulă):
N  M  bE , cu bN , EZ
Prima componentă este mantisa (M), care indică valoarea exactă a
numărului într-un anumit domeniu, fiind reprezentată de obicei ca un număr
fracționar cu semn, a doua componentă este exponentul (E), care indică ordinul
de marime al numarului, iar cea dea treia este baza.

O astfel de reprezentare nu este unică. De exemplu, în baza 10, vom avea:


N  102,224  10 0  10222 ,4  10 2  1,02224  10 2  ............

Înlăturăm acest inconvenient convenind să considerăm acea reprezentare


în care mantisa M satisface relaţia:
1
 M  1,
b

numită reprezentare normală (normalizată).

5
Bazele Informaticii Laborator nr.3

Rezultă atunci, că pentru reprezentarea unui astfel de număr, biţii unei


locaţii sunt împărţiţi în 4 grupe, pentru marcarea semnului mantisei, cifrelor
părţii fracţionare ale mantisei, semnului exponentului şi a exponentului. Ca
urmare, structura unei locaţii cu n poziţii pentru înregistrarea mantisei şi m
poziţii pentru înregistrarea exponentului.
O reprezentare posibilă în binar (b = 2) este următoarea:
semnul
exponentului m n












































exponent semnul mantisã
mantisei
Figura 5

Reprezentarea menţionată poate fi îmbunătăţită, prin introducerea


conceptului de caracteristică (C), deoarece este suficient să se exprime
implicit numai semnul mantisei (M), nefiind necesar un bit special pentru
semnul exponentului (E).

Figura 6
Definim caracteristica, numarul C dat de relatia C = E + 127, observând
ca prin aceasta modalitate reușim să îndeplinim condiția 0  C  2 8  1 .
Menționăm că modalitatea de calcul a caracteristicii depinde de formatul
de reprezentare al numarului ales. Pentru mărirea capacităţii de reprezentare se
poate mări numărul de biţi rezervaţi exponentului sau se alege o bază mai mare.

Există mai multe formate de reprezentare în virgulă mobilă: formatul


DEC, formatul IBM, standardul IEEE(Institute of Electric and Electronic
Egineering).
Baza de reprezentare este 2. Mantisa se reprezintă în valoare absolută
folosind tehnica cu bit ascuns. Condiţia de normalizare a mantisei este:
1,010  M  2,010 sau 1,00010  M  1,1112 .

6
Bazele Informaticii Laborator nr.3

Deoarece partea întreagă a mantisei este întotdeauna 1, aceasta nu se mai


reprezintă în calculator, reprezentându-se numai cifrele de la dreapta virgulei.
Standardul IEEE defineşte trei formate:
- simplă precizie (32 biţi);
- dublă precizie (64 biţi);
- precizie extinsă (80 biţi).
-
Formatul simplă precizie are un bit pentru semn, 8 biţi pentru exponent şi
23 biţi pentru mantisă. Exponentul se reprezintă în cod exces 127 10. Precizia
reprezentării este de 6 cifre zecimale.

31 30 23 22 0
S Exponent + 127 Mantisă normalizată

Formatul dublă precizie foloseşte un bit pentru semn, 11 biţi pentru


exponent şi 52 biţi pentru mantisă. Exponentul este reprezentat în cod exces
1024 (210). În acest caz modalitatea de calcul a caracteristicii este C = E + 1023
condiția 0  C  211  1

63 62 52 51 0
S Exponent + 1023 Mantisă normalizată

Formatul cu precizie extinsă se utilizează în interiorul unităţilor aritmetice


de virgulă mobilă, la care programatorii nu au acces.

S-ar putea să vă placă și