Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Baze de date


Index » educatie » » informatica » Baze de date
» Reprezentari interne ale datelor


Reprezentari interne ale datelor


Reprezentari interne ale datelor

1. Obiectivele lucrarii

Aceasta lucrare de laborator are ca scop insusirea de catre studenti a notiunilor de baza referitoare la:
- sistemele de numeratie binar, octal si hexazecimal;
- definirea datelor si a codurilor;
- codul ASCII;
- reprezentari in virgula mobila;
- reprezentari in virgula fixa.

2. Aparatura si suporturile utilizate

- PC in configuratia: unitate centrala, monitor, tastatura, mouse;
- Precizarile din prezentul indrumar;

3. Breviar teoretic

3.1. Sisteme de numeratie



Atunci cand scriem 198, 97788, 10009 sau cand efectuam o operatie de adunare, scadere, inmultire sau impartire, folosim sistemul de numeratie zecimala. El este un sistem de numeratie pozitional, adica valoarea unei cifre depinde de pozitia sa in reprezentarea numarului. Deci, numarul 10 este baza sistemului de numeratie pe care il folosim zi de zi si aceasta se datoreaza, fara indoiala, faptului ca omul are zece degete la maini. In limba engleza cuvantul "digit" desemneaza orice numar de la 0 la 9 adica orice cifra a sistemului de numeratie zecimal.
Alfabetul sistemului de numeratie zecimal este format din cifrele: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Aceste simboluri definesc numere diferite. Alfabetul contine 10 simboluri, adica un numar de simboluri egal cu baza sistemului de numeratie.
Alfabetul este format dintr-un sir de simboluri care reprezinta numere consecutive: 0; 1 = 0 + 1; 2 = 1 + 1; 3 = 2 + 1,
Primul simbol din sir este 0, adica simbolul care defineste un numar fara nici o valoare. Simbolul cu valoarea cea mai mare este 9, adica un numar cu o unitate mai mic decat baza 10: 9 = 10 - 1.
Un numar in baza 10 poate fi scris ca o suma de puteri ale lui 10:

deci, in functie de pozitia lor in numar, simbolurile au fost inmultite cu puterile bazei 10.
Astfel, un numar va fi un sir de simboluri:
un numar de 2 cifre: N =
un numar de 3 cifre: N = un numar de 4 cifre: N =
Aceste observatii sunt valabile pentru orice sistem de numeratie pozitional. In concluzie, sistemele de numeratie difera intre ele prin alfabetul de reprezentare si, implicit, prin baza sistemului.
Prin urmare, un sistem de numeratie in baza q este un sistem de reprezentare a numerelor care are urmatoarele caracteristici:
Utilizeaza un alfabet cu q simboluri diferite intre ele, numite cifre, care formeaza un sir de numere consecutive;
Prima cifra din sir este 0;
Cifra cu valoarea cea mai mare este cu o unitate mai mica decat baza sistemului: q - 1;
In functie de pozitia lor in numar, cifrele se inmultesc cu puteri crescatoare ale bazei q, obtinandu-se dezvoltarea numarului dupa puterile bazei:
N =

Pentru a sti in ce sistem de numeratie este scris un numar, in dreapta lui, intre paranteze rotunde, se scrie valoarea bazei:
N(q) inseamna ca numarul este scris in baza q.
Deci, sistemul de numeratie zecimal nu este singurul sistem de numeratie. Pentru problemele care ne intereseaza vor fi prezentate doar 3 sisteme de numeratie:
Sistemul de numeratie binar
Sistem de numeratie octal;
Sistem de numeratie hexazecimal.

3.1.1. Sistemul de numeratie binar

Sistemul de numeratie binar este caracterizat prin:
Baza sistemului de numeratie este 2 si alfabetul este format doar din
doua simboluri: 0 si 1 care alcatuiesc un sir de numere consecutive:
0; 1 = 0 + 1
Simbolul cu valoarea cea mai mare este 1 si este cu o unitate mai mic
decat baza 2: 1 = 2 -

In baza 2 se numara astfel:

ZECIMAL

BINAR

0

0

1

1

2

10

3

11

4

100

5

101

6

110

7

111

8

1000

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Un numar scris in baza 2 va fi dezvoltat dupa puterile bazei astfel:

Exemple de numere binare:

Daca se dezvolta aceste numere dupa puterile bazei se obtine :

3.1.2. Sistemul de numeratie octal

Sistemul de numeratie octal este caracterizat prin:
Baza sistemului de numeratie este 8 si alfabetul este format doar din opt simboluri: 0, 1, 2, 3, 4, 5, 6 si 7 care alcatuiesc un sir de numere consecutive:
0; 1 = 0 + 1; 2 = 1 + 1; 3 = 2 + 1; 4 = 3 + 1; 5 = 4 + 1; 6 = 5 + 1; 7 = 6 + 1
Simbolul cu valoarea cea mai mare este 7 si este cu o unitate mai mic decat baza 8: 7 = 8 - 1
In baza 8 se numara astfel:

ZECIMAL

OCTAL

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

10

9

11

10

12

11

13

12

14

13

15

14

16

15

17

Un numar scris in baza 8 va fi dezvoltat dupa puterile bazei astfel:

Exemple de numere octale:

Daca se dezvolta aceste numere dupa puterile bazei se obtine:

3.1.3. Sistemul de numeratie hexazecimal

Sistemul de numeratie hexazecimal este caracterizat prin:
Baza sistemului de numeratie este 16 si alfabetul este format din saisprezece simboluri: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E si F (deoarece cifrele nu mai sunt suficiente pentru a scrie 16 simboluri diferite s-au utilizat cele 10 cifre si primele sase litere ale alfabetului). Aceste simboluri alcatuiesc un sir de numere consecutive:
0; 1=0+1; 2=1+1; 3=2+1; 4=3+1; 5=4+1; 6=5+1; 7=6+1; 8=7+1; 9=8+1; A=9+1; B=A+1; C=B+1; D=C+1; E=D+1; F=E+1.
Simbolul cu valoarea cea mai mare este F si este cu o unitate mai mic
decat baza 16: F = 16 - 1
In baza 16 se numara astfel:

ZECIMAL

HEXAZECIMAL

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

10

A

11

B

12

C

13

D

14

E

15

F

Un numar scris in baza 16 va fi dezvoltat dupa puterile bazei astfel:

Exemple de numere hexazecimale:

Daca se dezvolta aceste numere dupa puterile bazei se obtine:

In exemplele precedente s-a vazut ca se poate reprezenta un numar in mai multe moduri, in functie de baza sistemului de numeratie ales.
Astfel, numarul 12 din sistemul de numeratie zecimal va fi:
1100 - sistemul de numeratie binar
14 - sistemul de numeratie octal,
C - sistemul de numeratie hexazecimal.

3.2. Operatiile aritmetice intr-un alt sistem de numeratie

Operatiile aritmetice (adunarea, scaderea, inmultirea, impartirea) cu numere in sisteme de numeratie diferite de baza 10 se efectueaza la fel ca si in baza 10 conform tabelelor de adunare si inmultire.

In baza 2:

TABELA ADUNARII

+

0

1

0

0

0

1

0

10

TABELA INMULTIRII

*

0

1

0

0

0

1

0

1

In baza 16:

TABELA ADUNARII

+

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

1

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

2

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

11

3

3

4

5

6

7

8

9

A

B

C

D

E

F

10

11

12

4

4

5

6

7

8

9

A

B

C

D

E

F

10

11

12

13

5

5

6

7

8

9

A

B

C

D

E

F

10

11

12

13

14

6

6

7

8

9

A

B

C

D

E

F

10

11

12

13

14

15

7

7

8

9

A

B

C

D

E

F

10

11

12

13

14

15

16

8

8

9

A

B

C

D

E

F

10

11

12

13

14

15

16

17

9

9

A

B

C

D

E

F

10

11

12

13

14

15

16

17

18

A

A

B

C

D

E

F

10

11

12

13

14

15

16

17

18

19

B

B

C

D

E

F

10

11

12

13

14

15

16

17

18

19

1A

C

C

D

E

F

10

11

12

13

14

15

16

17

18

19

1A

1B

D

D

E

F

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

E

E

F

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

F

F

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

Operatii de adunare si inmultire in baza 2:

TABELA INMULTIRII

*

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

2

0

2

4

6

8

A

C

E

10

12

14

16

18

1A

1C

1E

3

0

3

6

9

C

F

12

15

18

1B

1E

21

24

27

2A

2D

4

0

4

8

C

10

14

18

1C

20

24

28

2C

30

34

38

3C

5

0

5

A

F

14

19

1E

23

28

2D

32

37

3C

41

46

4B

6

0

6

C

12

18

1E

24

2A

30

36

3C

42

48

4E

54

5A

7

0

7

E

15

1C

23

2A

31

38

3F

46

4D

54

5B

62

69

8

0

8

10

18

20

28

30

38

40

48

50

58

60

68

70

78

9

0

9

12

1B

24

2D

36

3F

48

51

5A

63

6C

75

7E

87

A

0

A

14

1E

28

32

3C

46

50

5A

64

6E

78

82

8C

96

B

0

B

16

21

2C

37

42

4D

58

63

7E

79

84

8F

9A

A5

C

0

C

18

24

30

3C

48

54

60

6C

78

84

90

9C

A8

B4

D

0

D

1A

27

34

41

4E

5B

68

75

82

8F

9C

A9

B6

C3

E

0

E

1C

2A

38

46

54

62

70

7E

8C

9A

A8

B6

C4

D2

F

0

F

1E

2D

3C

4B

5A

69

78

87

96

A5

B4

C3

D2

E1


Operatii de adunare si inmultire in baza 16:

3.3. Sistemul de numeratie binar

Teoria informatiei a aratat ca orice informatie, oricat de complexa ar fi, poate fi exprimata prin informatii elementare.
Daca celor doua variante posibile li se asociaza cele doua cifre binare 0 sau 1, care corespund celor doua raspunsuri DA si NU, inseamna ca informatia va putea fi reprezentata din punct de vedere cantitativ in sistemul de numeratie binar.
Pornind de la teoria informatiei, s-a ajuns la concluzia ca un sistem de calcul va trebui sa utilizeze sistemul de numeratie binar.
Informatia elementara se mai numeste si BIT (BInary digiT), adica una din cele doua cifre binare 0 sau 1. Bitul reprezinta atomul informatiei, nivelul de la care informatia nu mai poate fi descompusa. Bitii se grupeaza cate 8 si formeaza un BYTE sau un OCTET .
Informatia, modelata si manipulata de calculator, va fi deci un sir de cifre binare. Reprezentarea sa se va face codificat. Cu cei 8 biti (8 cifre binare) care formeaza octetul se poate construi un cod, care permite
combinatii diferite intre ele, adica 256 combinatii. Aceste combinatii sunt suficiente pentru a prezenta literele mari si mici, cifrele, semnele speciale, comenzile, semnalele, raspunsurile. Astfel, putem sa privim octetul ca o molecula de informatie. Molecula poate sa contina o litera (A, a,, Z, z), o cifra (0,1,2,,9), un semn special (*.@,/,:,;,>,), un semnal (semnal sonor,), o comanda (retur de car la sfarsitul liniei de text,). Cu aceste molecule se va construi informatia: texte, numere, imagini grafice, sunete, .
Octetul este o unitate de masura a informatiei. Pentru masurarea diferitelor cantitati de informatie se pot folosi multiplii octetului. Unitatile de informatie folosesc ca factor de multiplicare 210=1024:
1Kbyte=1 Koctet=
octeti=1024 octeti
1Moctet=
octeti=1 Koctet=1024 Kocteti= octeti
1Goctet=
Mocteti= Kocteti = octeti

3.4. Coduri si date

Orice informatie (numere, litere, desene, sunete) si orice instructiune pe care trebuie sa o execute procesorul calculatorului trebuie sa fie codificata intr-o secventa de cifre binare. Detaliile prin care diferite tipuri de informatii sunt codificate variaza in functie de calculator.
Informatia prelucrata de calculator se numeste data, reprezentand suportul informatiei.
Data este un model de reprezentare a informatiei, accesibil unui procesor (om, unitate de prelucrare a calculatorului, program), model cu care se poate opera pentru a se obtine noi informatii.
Calculatorul este masina cu doua stari, masina construita cu elemente fizice care prezinta numai doua stari. El intelege, manipuleaza si prelucreaza siruri de cifre binare. Aceste cifre binare pot sa fie semnale, comenzi, informatia reprezentata sub forma de date. Prin adaptarea sistemului de numeratie binar s-au obtinut urmatoarele avantaje:
S-a simplificat realizarea fizica a calculatorului
S-a redus procentul de erori din procesul de prelucrare si stocare a datelor
S-a simplificat algoritmul de efectuare a operatiilor aritmetice si logice
S-a simplificat procedeul de transpunere a informatiilor pe suporturile tehnice de informatie
Informatia corespunde limbajului uman. Pentru reprezentare, ea foloseste cele 10 cifre ( 0, 1 , 2, 9), cele 26 de litere mici (a - z ), cele 26 litere mari ( A - Z ) si diferite semne speciale ( >, <, ?, ,). Acest ansamblu de simboluri nu poate fi interpretat, prelucrat si stocat de catre calculator, care intelege numai sistemul de numeratie binar. Informatia trebuie sa fie transformata astfel incat sa fie inteleasa de catre calculator. Ea trebuie adusa intr-o forma binara.
Operatia de transformare a informatiei, din forma de reprezentare externa, care este inteligibila pentru om, in forma de reprezentare interna pe care o poate intelege calculatorul, se numeste codificare interna a informatiei.

3.4.1. CODUL ASCII

Codul ASCII (American Standard Code for Information Interchange) este un cod pe 8 biti, care a devenit codul calculatoarelor compatibile IBM-PC. El a derivat din codul ASCII pe 7 biti care permitea numai 27 = 128 cuvinte de cod. Marindu-se lungimea cuvantului de cod la 8 caractere, s-a putut adauga setul extins de caractere ASCII, set de inca 128 de caractere.
Codul ASCII este format din:
Setul de caractere de baza (primele 128 de caractere: 00-7F)
Setul de caractere extins (ultimele 128 de caractere: 80-FF)
Setul de caractere de baza provine din codul ASCII pe 7 biti si cuprinde:
10 caractere pentru cifre 48-57 (30-39);
26 caractere pentru literele mari ale alfabetului latin 65-90 (41-5A);
26 caractere pentru litere mici ale alfabetului latin 97-122 (61-7A);
34 de semne speciale 32-47 (20-2F), 58-64 (3A-40), 91-96 (5B-60), 123-127 (7B-7F);
32 de coduri pentru caracterele de control 00-31 (00-1F).
Setul de caractere extins cuprinde caracterele adaugate setului de baza pentru a imbunatati codul:
48 caractere straine 128-175 (80-AF) (codul fiind american este orientat pe limba engleza si punctuatia americana); ele sunt organizate pe trei grupe:
grupul literelor specifice alfabetelor europene diferite de cele ale alfabetului englezesc 128-154 (80-9A), 160-167 (A0-A7),
grupul simbolurilor curente folosite: centul - 155 (9B), lira - 156 (9C), yenul japonez - 157 (9D), peseta spaniola - 158 (9E), francul - 159 (9F),
grupul semnelor speciale de punctuatie: semnul de intrebare - 168 (A8) - si de exclamare - 173 (AD) - inversat specific Spaniei, ghilimelele in stil francez 174 - 175 (AE-AF), fractiile 171-172 (AB - AC) si unghiurile 169-170 (A9-AA),
48 de caractere pentru construirea chenarelor 176-223 (B0-DF), prin care se pot trasa liniile si colturile chenarelor in diferite maniere: cu linie simpla, cu linie dubla, cu linie ingrosata, cu linie cu o anumita densitate de gri,
32 caractere pentru grupul caracterelor stiintifice 224-254 (E0-FF):
literele alfabetului elen care sunt folosite in matematica si in stiinte 224-238 (E0-EE),
simbolurile matematice speciale 239-255 (EF-FF) cum ar fi: simbolul integralei care se poate forma din doua coduri 244 (F4) si 245 (F5) care se folosesc impreuna, simbolul ridicarii la patrat 253 (FD) si simbolul radacinii patrate 251 (FC).
Caracterele de control ASCII
Setul de baza al codului ASCII cuprinde:
caracterele de baza
caracterele de control.
Caracterele de control ASCII sunt primele 32 coduri ASCII.

3.5. Reprezentarea numerelor reale

Numerele reale sunt numere care sunt formate din:
semn
parte intreaga
parte fractionara
Ele pot fi reprezentate in doua moduri:
in virgula fixa (binary fixed point)
in virgula mobila (binary floating point)

3.5.1. Reprezentarea numerelor in virgula fixa

In reprezentarea in virgula fixa se presupune ca partea intreaga este despartita de partea fractionara printr-o virgula imaginara care se gaseste intr-o pozitie fixa. In acest caz sunt fixe atat numarul de pozitii ale partii intregi cat si numarul de pozitii ale partii fractionare. Pozitia virgulei fixe este o caracteristica a tipului de calculator si a modului in care este construit.
De exemplu, daca se reprezinta pe 8 biti un numar fractionar cu numarul de pozitii intregi 5, automat numarul de pozitii zecimale va fi 3. In cazul in care numarul N care se reprezinta este pozitiv, domeniul de valori al datei va fi:

adica:

Daca numarul este negativ, se va reprezenta prin complementul fata de 2, primul bit de semn si domeniul de valori al datei va fi:

adica:

Aceasta reprezentare a numerelor reale este dezavantajoasa deoarece nu permite decat reprezentarea unei game restranse de numere reale.
In unele calculatoare, pozitia virgulei este plasata la dreapta numarului lucrandu-se cu numarul real ca si cum ar fi un numar intreg. Pentru a reprezenta intreaga valoare, in programul care exploateaza numarul respectiv trebuie introdus un factor de scara.
Exemplu:
Numarul 12,34 va fi reprezentat ca un numar intreg:
12,34*

iar programul va trebui sa actualizeze numarul folosind un factor de scara

3.5.2. Reprezentarea numerelor in virgula mobila

In aceasta reprezentare, numerele sunt reprezentate prin exponent si mantisa.
Se stie ca orice numar poate fi scris explicitand diferite puteri ale lui 10 (exponenti). In acest mod poate fi controlata pozitia virgulei zecimale, iar reprezentarea obtinuta se numeste in virgula mobila deoarece virgula zecimala isi schimba pozitia in functie de valoarea exponentului.
De exemplu, reprezentarea in notatie stiintifica este:

In mod analog se va reprezenta si intern numarul, singura deosebire fiind codificarea exponentului si a mantisei in sistemul binar. In plus se vor folosi doi biti pentru reprezentarea semnului mantisei si a exponentului. Conform acestei conventii, daca se considera reprezentarea in virgula mobila pe 32 de biti, bitii vor fi folositi astfel:
1 bit pentru semnul numarului,
1 bit pentru semnul exponentului,
7 biti pentru exponent,
23 biti pentru mantisa.
Exemplu:
mantisa este 11001
exponentul este ;
semnul numarului este pozitiv-0;
semnul mantisei este pozitiv-0.

4. Desfasurarea lucrarii

1. Utilizand informatiile care sunt in breviarul teoretic, sa se efectueze urmatoarele operatii de transformare a unor numere zecimale in binar, octal, hexazecimal.
De asemenea, sa se rezolve urmatoarele exercitii de adunare si inmultire din zecimal in binar si hexazecimal.
a)
, 132, ADE
b) 1111 + 0100; 10011+1100; 1EF+9AB; 11010*1100

2. Pe baza teoriei referitoare la codul ASCII, in continuare este prezentat un program de afisare a codurilor ASCII tiparibile:

.MODEL small          ; prin model vom intelege un mod de dispunere in RAM a segmentelor care alcatuiesc un program
.STACK 100h            ; o stiva de 256 (100 hexazecimal) octeti este definita prin aceasta directiva
.DATA                       ; aceasta directiva marcheaza inceputul segmentului de date
    MESSAGE DB'Program afisare cod ASCII ',13,10,13,10,' $ '
.CODE                       ; aceasta directiva marcheaza inceputul instructiunilor programului
Start:
      MOV AX, @DATA ; incarca locatie
      MOV DS, AX          ; segment in registrul DS
      MOV DX, OFFSET MESSAGE ; returneaza deplasamentul fata de baza
                                                        ; segmentului de date al DATA
      MOV AH, 09H    ; incarca AH cu 9 (codul functiei afisare sir)
      INT 21H             ; apel rutina tiparire
      MOV BL,48         ; initializarea registrului BL cu 48

Eticheta:
      MOV AH, 02H    ; incarca AH cu 2 (codul functiei afisare caracter)
      MOV DL, BL       ;incarca in DL codul caracterului de afisat
      INT 21H
      MOV AH, 02H    ; incarca AH cu 2 (codul functiei afisare caracter)
      MOV DL, 32        ; incarca registrul DL cu 32 (codul caracterului blank)
      INT 21H
      INC BL               ; incrementarea registrului BL
      CMP BL,127
      JB Eticheta          ; salt conditionat (daca BL mai mic decat 127)
      MOV AH, 4CH    ; functia pentru terminarea programului
      INT 21H
end Start

5. Modul de lucru

1. Se vor rezolva exercitiile propuse ca exemplu, precum si cele prezentate in subcapitolul 4;
2. Se va asambla, link-edita si rula programul dat ca exemplu mai sus.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate