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.