Referat Reprezentarea Interna A Datelor
Mai jos puteti citi fragmente din
Referat Reprezentarea Interna A Datelor si de asemenea puteti face
Download Referat Reprezentarea interna a datelorCiteste fragmente din Referat Reprezentarea Interna A Datelor
REPREZENTAREA INTERNA A DATELOR
Calculatorul prelucreaza date.Reprezentarea interna a datelor se
face diferentiat,in functie de tipul datei.Tipul datei este un atribut
al datei si defineste apartenenta datei la o anumita clasa de
date,careia ii corespunde un anumit model de reprezentare interna(in
calculator).
Cum se reprezinta datele alfanumerice?
Individual,fiecare caracter(litera,cifra,spatiu sau caracter
special-cum ar fi parantezele si semnele de punctuatie) va fi codificat
intr-o secventa de lungime fixa de 8 cifre binare,folosind codul
standardizat ASCIL.El permite construirea a 28=256 cuvinte de cod
diferite intre ele.Fiecarui caracter de la tastatura ii este atribuita o
secventa de cod ASCIL prin care poate fi reprezentat in memoria
calculatorului.Astfel caracterul A va fi reprezentat prin secventa de 8
cifre binare:01000001,iar caracterul 9 prin secventa de 8 cifre
binare:001110011.
Asupra datelor de tip alfanumeric pot actiona operatorii:
(de concatenare(din doua siruri de caractere se obtine un singur
sir):â€Âbunaâ€Â+â€Âziua!â€Â= â€Âbuna ziuaâ€Â
(de comparare(comparatia se executa prin compararea secventelor de
cod ASCIL,deci prin compararea a doua numere):
“aâ€Â>â€ÂAâ€Âsauâ€Âaâ€Â>â€Â9â€Â(s-a folosit conventia prin care se
delimiteaza un sir de caractere cu apostrofuri(“sir de caractereâ€Â)
pentru a deosebi o data de tip alfanumeric de un identificator de data
sau,in cazul numerelor,pentru a face deosebire intre reprezentarea
numarului printr-o data de tip alfanumeric sau printr-o data de tip
numeric.
Cum se reprezinta numerele?
Reprezentarea interna a datelor numerice se face diferentiat,in
functie de tipul lor:numere intregi(cu semn sau fara semn)si numere
reale.
Asupra datelor de tip numeric pot actiona operatorii:
(aritmetici(prin care se pot executa operatii
aritmetice:+,-,*,/):9/3 + 6*2 – 4
(de comparare(>,<,=,#,>=,<=):8>2,4<16,5=5
Cum se reprezinta numerele intregi?
Fiecare numar intreg,pozitiv sau negativ,este codificat cu un numar
binar de lungime fixa.Lungimea secventei binare trebuie sa fie multiplu
de 8 biti:8 biti,16 biti,32 biti… .Pentru fiecare numar,indiferent de
marimea numarului,sunt folosite secvente de biti de aceeasi
lungime.Pentru a obtine acelasi numar de biti sunt adaugate zerouri
nesemnificative.Atunci cand se reprezinta un numar intreg cu semn primul
bit din stanga reprezentarii numarului va fi folosit pentru precizarea
semnului,astfel:1-numar negativ si 0-numar pozitiv
De exemplu,daca se citeste un numar intreg fara semn(numarul
9)folosind un spatiu de memorie de 16 biti,atunci reprezentarea
numarului va fi:
9(10)=1001(2)
0000 0000 0000 1001
biti nesemnificativi/reprezenatrea in
binar a
numarului 9
Cu cei 16 biti,numarul cel mai mare care se poate reprezentac este:
1111 1111 1111
1111
16 cifre
binare
Acest numar este 216-1 = 65 535
Daca reprezentarea se va face folosind doar 8 cifre binare cel mai mare
numar va fi 28-1=255
Deci,domeniul de definitie a unei date de tip numeric intreg fara
semn,reprezentata cu 8 cifre binare(1 octet sau 1 byte) va fi 0…+255
iar pentru cea reprezentata cu 16 cifre binare(2 octeti sau un cuvant)
va fi 0...+65525
Dar daca,de exemplu,pentru a reprezenta un nr intreg cu semn se
foloseste un spatiu de memorare de 32 de biti,atunci reprezenatrea va
fi:
(pentru numarul 9: 9(10) =1001(2)
0 000 0000 000 0000 0000 0000 0000 1001
bitul biti nesemnifiactivi pentru reprezentarea
in
de semn completarea reprezentarii binar a numarului
9
(pentru numarul -6: 6(10)=101(2)
1 000 0000 0000 0000 0000 0000 0000 0101
bitul biti nesemnifiactivi pentru
reprezenatrea in
de semn compltarea reprezentarii binar a
numarului 9
Daca pentru reprezentarea unui numar intreg cu semn se foloseste un
spatiu de memorare de 32 de cifre binare,pentru reprezenatrea numarului
vor fi folositi efectiv numai 31 de biti.Cel mai mare numar binar care
se poate scrie cu 31 cifre binare este
111 1111 1111 1111 1111 1111 1111 1111
31 de cifre binare
Acest numar este 231-1=2 147 483 647
Deci,domeniul de definitie a unei date de tip numeric intreg cu
semn,reprezenatata cu 32 cifre binare,va fi – 2 147 483 647.. +2 147
483 647
In mod analog se poate calcula domeniul de definitie pentru
reprezenatrea unui numar intreg cu semn pe 8 biti sau pe 16 biti.
Pentru a executa operatia 9+(-6)=3,se va scadea din numarul 9
numarul 6 astfel:
0 000 0000 0000 0000 0000 0000 0000
1001-
0 000 0000 0000 0000 0000 0000 0000
0110
------------------------------------------------------
0 000 0000 0000 0000 0000 0000 0000
0011
Reprezentarea interna a
datelor
Acest model de reprezentare interna a datelor numerice intregi cu
semn se numeste reprezentare prin marime si semn . Ea este avantajoasa
deoarece este asemanatoare cu scrierea obisnuita, dar dazavantajoasa
din punct de vedere al modelarii operatiilor matematice cu ajutorul
circuitelor electronice:
(bitii de semn ai numerelor trebuie tratati separat,
(exista doua reprezentari pentru
cifra 0:
0 000 0000 0000 0000 0000 0000 0000 0000,
1 000 0000 0000 0000 0000 0000 0000 0000,
(trebuie definita operatia de scadere a doua numere absolute.
Din aceasta cauza se prefera un alt model de reprezentare
interna:reprezentarea numerelor prin complementul fata de 2 (two’s
complement notation).
Complementul unui numar intreg negativ Nn(reprezentat prin
n cifre binare)
Fata de 2 este
Nn:
â¿ – Nn
Astfel, complementul numarului -6 fata de 2 intr-o reprezentare cu
16 cifre binare(din care numai 15 se folosesc pentru reprezentarea
numarului) se calculeaza astfel:
2¹ - 000 0000 0000 0101= 1 0000 0000
0000 0000 –
000 0000 0000 0110=
1111 1111 1111 1010
bitul de semn
complementul numarului fata de 2
In aceasta reprezentare, pentru a executa operatia 9+(-6)=3, se va aduna
complementul fata de 2 al numarului 6 la numarul 9 astfel:
0000 0000 0000 1001+
1 0000 0000 0000 0011
rezultatul operatiei=3
Nu mai exista doua reprezentari pentru cifra o deoarece 1 000 0000
0000 0000 este complementul fata de 2 al numarului -2¹ :1 000 0000
0000 0000.
Deci cu ajutorul a n cifre binare, folosind reprezentarea prin
complementul fata de 2 se pot reprezenta numere intregi N din domeniul:
-2â¿‾¹ ≤ 2â¿‾¹ -1
Folosind aceasta formula de calcul se poate calcula domeniul de
definitie pentru reprezentarea unui numar intreg cu semn pe 8 biti sau
pe 16 biti
Domeniul de definiţie pentru o data de tip numeric întreg cu
semn, reprezentată în complement faţă de 2 şi cu 8 cifre binare (1
octet sau 1 byte), va fi -128...+127, iar pentru cea reprezentată cu 16
cifre binare(2 octeţi sau un cuvânt), va fi -65536...+65535.
Numărul întreg 9 nu este codificat în acelaşi cu caracterul
9.
Cum se reprezintă numerele reale?
Numerele reale sunt numerele care sunt formate din: semn, parte
întreagă şi parte fracţionară. Ele pot fi reprezentate în 2
moduri:
În virgulă fixă (binary fixed point)
În virgulă mobilă (binary floating point)
Cum se reprezintă numerele în virgulă fixă?
În reprezentarea în virgulă fixă se presupune ca partea
întreagă este despărţită de partea fracţionară printr-o virgulă
imaginară care se găseşte într-o poziţie fixă. În acest caz sunt
fixe atât numărul de poziţii ale părţii întregi cât şi numărul
de poziţii ale părţii fracţionare. Poziţia virgulei fixe este o
caracteristică a tipului de calculator şi a modului în care4 este
construit.
De exemplu dacă se reprezintă pe 8 biţi un număr
fracţionar cu numărul de poziţii întregi 5, automat numărul de
poziţii zecimale va fi 3. În cazul în care numărul N care se
reprezintă este pozitiv, domeniul de valori al datei va fi:
00000,000(2)≤N≤11111,111(2)
adică: 0,0(10)≤N≤31,925(10)
Dacă numărul este negativ, se va reprezenta prin complementul
faţă de 2, primul bit fiind bitul de semn şi domeniul de valori al
datei va fi:
11111,11(2)≤N≤01111,111(2)
adică: -16,025(10)≤N≤5,925(10)
Această reprezentare a numerelor reale nu este avantajoasă
deoarece nu permite decât reprezentarea unei game restrânse de numere
reale. În unele calculatoare, poziţia virgulei este plasată la
dreapta numărului lucrându-se cu numărul real ca şi cum ar fi un
număr întreg. Pentru a reprezenta adevărata valoare, în programul
care exploatează numărul respectiv trebuie introdus un factor de
scară. De exemplu numărul 12,34 va fi reprezentat ca un număr
întreg: 12,34*102=1234, iar programul va trebui să actualizeze
numărul folosind factorul de scară 10-2.
Cum se reprezintă numerele în virgulă mobilă?
ª
ä
ê
ë
<
=
C
Â¥
ä
4cimale, iar reprezentarea obţinută se numeşte în virgulă mobilă
deoarece virgula zecimală îşi schimbă poziţia în funcţie de
valoarea exponentului. De exemplu reprezentarea în notaţie
ştiinţifică este:
12,5=12,5*100=0,125*102=125*10-1=125E-1
mantisă
exponent
În mod analog se va reprezenta şi intern numărul, singura
deosebire fiind codificarea exponentului şi a mantisei în sistem
binar. În plus se vor folosi 2 biţi pentru reprezentarea semnului
mantisei şi a exponentului. Conform acestor convenţii, dacă se
consideră reprezentarea în virgulă mobilă pe 32de biţi, biţii vor
fi folosiţi astfel: un bit pentru semnul numărului, un but pentru
semnul exponentului, 7 biţi pentru exponent şi 23 de biţi pentru
mantisă.
De exemplu:
12,5(10)=1100,1(2)=0,1100(2)*24=0,11001(2)*10(2)100(2):
mantisa este 11001
exponentul este 4(10)=100(2)
semnul numărului este pozitiv-0
semnul mantisei este pozitiv-0,
iar reprezentarea numărului este:
0 0 0000100 11001 00 0000
0000 0000 0000
valoarea
biţi nesemnificativi pentru
bit bit exponent mantisei
completare
semn semn
număr exponent mantisă
-7(10)=-111(2)=-0,111(2)*23=-0,111(2)*10(2)11(2)
mantisa este 111,
exponentul este 3(10)=11(2),
semnul numărului este negativ-1,
semnul mantisei este pozitiv,
iar reprezentarea este:
1 0 0000011 111 0000
0000 0000 0000 0000
valoarea
biţi nesemnificativi pentru
bit bit exponent mantisei
completare
semn semn
număr exponent
mantisă
În această reprezentare s-au folosit 32 de biţi din care 7
pentru reprezentarea exponentului, 23 pentru reprezentarea mantisei. Cel
mai mare număr pozitiv care se poate scrie în acest caz se stabileşte
astfel:
Cu 23 cifre binare cel mai mare număr care se poate scrie este:
223=(210)23/10=(1000)23/10=(103)23/10=1069/10~107
deci numărul maxim de cifre semnificative este 7.
Cu 7cifre binare cel mai mare exponent care se poate scrie este
27-1=127:
Factorul de multiplicare cel mai mare va fi:
2127=(210)127/10=10381/10~1038.
Deci domeniul de valori al datei reprezentate cu 7 cifre binare
pentru exponent şi 23 de cifre binare pentru mantisă va fi
-1038...1038, iar data va avea maxim 7 cifre semnificative.
Reprezentarea în virgulă mobilă permite memorarea numerelor
reale de diferite dimensiuni cu o precizie foarte mare.
În funcţie de numărul de biţi folosiţi pentru
reprezentarea numărului există: reprezentare de simplă precizie-pe 32
biţi şi reprezentare în dublă precizie-pe 64 de biţi.
ì¥Â@