REPREZENTAREA INTERNĂ A DATELOR Reprezentarea internă a datelor se face în funcţie de tipul datelor respective.

Tipul datei reprezintă un atribut al datelor respective şi defineşte apartenenţa la o anumită clasă de date căreia îi corespunde un anumit model de reprezentare internă. Reprezentarea numerelor Reprezentarea internă a datelor numerice se face în funcţie de tipul lor: numere întregi cu sau fără semn şi numere reale. Asupra datelor de tip numeric acţionează operatorii: - aritmetici : “ + ” , “ – “, “ / “ , “ * ” - de comparaţie : “ > “ , “ >= ” , “ < ” , “ <= ” , “ = ”, “ <>”

Reprezentarea numerelor întregi
Fiecare număr întreg negativ sau pozitiv este codificat printr-un număr binar de lungime fixă. Lungimea trebuie să fie multiplu de 8 biţi: 16 biţi, 32 biţi….pentru orice număr indiferent de mărimea numărului sunt folosite secvenţe de biţi de aceeaşi lungime. Pentru a obţine acelaşi număr de biţi se adaugă zerouri nesemnificative. Când se reprezintă numere întregi primul bit din stânga reprezentării numărului va fi folosit pentru reprezentarea semnului astfel: 1 – număr negativ , 0 – număr pozitiv. De exemplu reprezentarea numărului 7 pe 16 biţi este: 7(10) = 0111(2) şi obtinem : 0000000000000111 reprezentarea în binar a numărului 7 biţi nesemnificativi folosiţi pentru completarea reprezentării Cu cei 16 biţi se poate obţine numărul cel mai mare : 1111111111111111 . Convertind numărul din binar în zecimal obţinem numărul 65535. Dacă reprezentarea se face pe 8 biţi atunci numărul maxim care se poate reprezenta este 255. Numărul maxim care se poate reprezenta pe n poziţii binare este 2 n - 1. Domeniul de definiţie al unei date de tip numeric fără semn reprezentată pe 8 biţi = 1 octet = 1 byte este 0..255, iar pentru cea reprezentată pe 16 biţi = 2 octeţi = 1 cuvânt = 1 word este 0 ..65535. De exemplu reprezentarea numărului 7 pe 32 biţi este: 7(10) = 0111(2) este : 0 000 0000 0000 0000 0000 0000 0000 0111 reprezentarea în binar a numărului 7 biţi nesemnificativi folosiţi pentru completarea reprezentării bitul de semn “+” Dacă se reprezintă numărul –7 avem 1 000 0000 0000 0000 0000 0000 0000 0111 reprezentarea în binar a numărului 7 biţi nesemnificativi folosiţi pentru completarea reprezentării bitul de semn “–”

Numerele reale sunt numerele formate din semn.Deci pentru reprezentarea numărului se folosesc 31 de biţi. iar pentru 8 biţi avem : -128 ≤ N ≤ 127. faţă de 2 este N = 2n – Nn. În mod analog se poate calcula numărul întreg maxim cu semn pe 8 biţi ca fiind 127. În reprezentarea în virgulă fixă se presupune că partea întreagă este despărţită de partea fracţionară printr-o virgulă imaginară care se găseşte . De exemplu complementul numărului -7 faţă de 2 într-o reprezentare pe 16 biţi din care doar 15 se folosesc este următoarea: 216 – 0000000000000111 = 1 000000000000000 – 0 000000000000111 0 111111111111001 complementul numărului faţă de 2 bitul de semn Tot în această reprezentare se poate executa operaţia : 9 + ( . parte întreagă şi parte zecimală.2n-1 ≤ N ≤ 2n-1 1. dar dezavantajoasă din punctul de vedere al modelării operaţiilor matematice cu ajutorul circuitelor electronice:  biţii de semn trebuie trataţi separat  există două reprezentări pentru cifra zero:  0 000 0000 0000 0000 0000 0000 0000 0000  1 000 0000 0000 0000 0000 0000 0000 0000  trebuie definită operaţia de scadere a numerelor absolute Din aceste cauze se preferă un alt mod de reprezentare internă: reprezentarea numerelor prin complementul faţă de 2. 1 000000000000000 – 0 000000000000100 0 111111111111100 + 0 000000000001001 0 000000000000101 5 În această reprezentare nu există două repretentări pentru cifra 0. iar pe 16 biţi 32767. folosind complementul faţă de 2 se pot reprezenta numere întregi din domeniul : . Pentru a calcula 9 + (-4) în binar pe 32 de cifre avem: 0 000 0000 0000 0000 0000 0000 0000 1001 – 0 000 0000 0000 0000 0000 0000 0000 0100 0 000 0000 0000 0000 0000 0000 0000 0101 Acest mod de reprezentare internă a datelor se numeşte reprezentare prin semn şi mărime. Numărul întreg maxim ce se poate reprezenta pe 31 de biţi este: 231 – 1 = 2147483647. Ea este avantajoasă deoarece se aseamană cu scrierea obişnuită. Ele pot fi reprezentate în două moduri : în virgulă fixă (binary fixed point) şi în virgulă mobilă ( binary floating point). În concluzie cu ajutorul a n cifre binare. Folosind această regulă se poate calcula domeniul de definiţie pentru reprezentarea unui întreg cu semn pe 16 biţi ca fiind: -32768 ≤ N ≤ 32767.215. reprezentat pe n poziţii binare.4 ) astfel : întâi se face complementul lui – 4 faţă de 2 şi apoi rezultatul se adună cu 9. 10000000000000000 este complementul faţă de 2 al numărului . Complementul unui număr intreg negativ Nn.

36 E+1 unde: 1. şapte biţi pentru exponent şi 23 de biţi pentru mantisă.5(10) = 1100. Orice număr poate fi scris cu ajutorul puterilor lui 10.6 = 13. singura deosebire fiind codificarea exponentului şi a semnului mantisei în binar. În mod analog se va reprezenta şi intern numărul.111 adică -15. 1 este exponentul. De exemplu reprezentarea în virgulă mobilă a numărului 13. De exemplu dacă pe 8 biţi se reprezintă un număr pe cinci poziţii întregi.875. iar reprezentarea obţinută se numeşte în virgulă mobilă deoarece virgula zecimală îşi poate schimba poziţia în funcţie de valoarea exponentului.111 ≤ N ≤ 01111. Dacă numărul este negativ. iar domeniul de valori va fi: 00000.111*2(3) = -0. un bit pentru semnul exponentului. Această reprezentare este dezavantajoasă deoarece nu permite reprezentarea unei game largi de date. 13.într-o poziţie fixă.6 * 100 = 0.136 * 102 = 1.111 exponentul – 3(10) = 11(2) bitul de semn al exponent – 0 – pozitiv bitul de semn al număr – 1 – negativ . 11111. Dacă considerăm reprezentarea în virgulă mobilă pe 32 de biţi. primul bit fiind cel de semn. În reprezentarea în virgulă mobilă numerele sunt reprezentate prin exponent şi mantisă. Această reprezentare se mai numeşte şi notaţie ştiinţifică. În acest caz atât partea întreagă cât şi partea fracţionară sunt fixe.875.11001 * 24 = 0. se va reprezenta prin complementul său faţă de 2.111 adică 0. În acest mod poate fi controlată poziţia virgulei zecimale.0 ≤ N ≤ 31.1(2) = 0.36 este mantisa. Poziţia virgulei fixe este este o caracteristică a modului de construcţie a calculatorului.6. numărul de poziţii zecimale va fi trei.111 * 10(2)11(2) unde: mantisa .36 * 101 = 1.11001(2) * 10(2)100(2) unde: mantisa – 11001 exponentul – 4(10) = 100(2) bitul de semn al numărului – 0 – pozitiv bitul de semn al mantisei – 0 – pozitiv reprezentarea numărului este: 0 0 0000100 11001 00 0000 0000 0000 0000 biţi nesemnificativi valoarea mantisei mantisa exponent bit semn exponent bit semn număr  7(10) = -111(2) = -0. biţii vor fi folosiţi astfel: un bit pentru semnul numărului.875 ≤ N ≤ 15. De exemplu:  12.000 ≤ N ≤ 11111.

de concatenare – din două ţiruri de caractere se obţine unul singur Exemplu: “Bună” + “ziua” = “Bună ziua” . spaţiu sau caracter special) va fi codificat într-o secvenţă de lungime fixă de 8 poziţii binare. cifră.de comparare – compararea se execută prin compararea secvenţelor de cod ASCII. Asupra datelor de tip alfanumeric pot acţiona operatorii: . folosind codul standard ASCII. “ a ” > “ 9 ” . Reprezentarea datelor alfanumerice Fiecare caracter (literă.reprezentarea numărului este: 0 1 0000011 111 0000 0000 0000 0000 0000 biţi nesemnificativi valoarea mantisei mantisa exponent bit semn exponent bit semn număr Cu cele 23 de 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. Exemplu: “ a ” > “ A ”. deci numărul maxim de cifre semnificative este 7. El permite definirea a maxim 28 =256 de cuvinte de cod diferite. Factorul de multiplicitate cel mai mare este : 2127=(210)127/10=(1000)127/10= 0381/10 ≈ 38 10 . Deci domeniul de valori al datei reprezentate cu 7 cifre binare pentru exponent şi 23 de cifre binare pentru mantisă va fi: 10-38 ≤ N ≤ 1038. Cu 7 cifre binare cel mai mare exponent este: 27 – 1 =127. În funcţie de numărul de biţi folosiţi pentru reprezentarea numărului există reprezentare în simplă precizie pe 32 de poziţii binare. reprezentare în dublă precizie pe 64 de poziţii binare. deci prin compararea a două numere.

Sign up to vote on this title
UsefulNot useful