Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
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:
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:
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:
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 |
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.
Copyright © 2024 - Toate drepturile rezervate