Documente Academic
Documente Profesional
Documente Cultură
=0
) (
( )
( )
0
1
0
1
1
a
a
N
N
n
i
i
i
+ =
=
+
43 4 2 1
( )
( )
1
2
2
0
2
1
a
a
N
N
n
i
i
i
+ =
=
+
43 4 2 1
( )
( )
k
Nk
k n
i
i
k i
k
a
a
N
+ =
=
+
43 4 2 1
0
( ) ( ) 2 10
? 13 =
13 2
1 6 2
0 3 2
1 1 2
1 0
( ) ( ) 2 10
1101 13 =
Programarea calculatoarelor 26
Fie M1()subunitar. Conversia n baza se reduce la determinarea
coeficientilor b-i ai polinomului:
(5)
Coeficienti b-i , i=1,m se obtin prin nmultirea succesiva a numarului
mM1(),cu noua sa baza . La primul pas:
(6)
Partea ntreaga se va reprezenta prima cifra, cea mai reprezentativa a
rezultatului: b-1.n continuare M2() se va nmulti din nou cu .
(7)
Partea ntreaga reprezentnd cifra urmatoare, b-2. Algoritmul continua astfel
nct la un pas oarecare k:
(8)
obtinndu-se cifra b-k.
Algoritmul se opreste n momentul n care partea fractionara este zero, sau
daca s-a atins precizia ceruta la conversie.
0.35(10)=?(2) pe 8 biti.
( )
i
m
i
i
b M
=
=
1
1
( )
( )
43 4 2 1
2
1
1
1 1 1
M
m
i
i
i
b b M
+ =
( )
i
m
i
i
b b M
=
+ =
2
1
2 2 2
( )
i
k m
i
k i k k
b b M
=
+ =
1
Reprezentarea informatiei n calculator
27
0. 35
2
0. 70
2
1 4
0 8
2
1 6
2
1 2
2
0 4
2
0 8
2
1 6
=>0.35=0.01.01.10.01.
Observatie: Pentru conversia unui numar din baza n baza =n,
conversia se poate face formnd grupe de cte n cifre din baza , pornind de
la punctul zecimal spre stnga pentru partea ntreaga si de la punctul zecimal
spre dreapta pentru parte subunitara, punnd n locul fiecarui grup de n cifre
cifre corespunzatoare din baza .
Exemplu:1.1010.01011001 (2)=1A.59h
Daca se realizeaza conversia din baza n baza , cu =n atunci se
nlocuieste fiecare cifra a numarului initial printr-un grup de n cifre
corespunzatoare din baza .
Exemplu: 1A.59h=0001 1010.0101 1001
2.2. Reprezentarea numerelor
Programarea calculatoarelor 28
Datele de intrare pentru un program si / sau rezultatele pot fi numere ntregi sau
reale, pozitive sau negative. Aceste numere sunt preluate de UI convertite din
forma de reprezentare externa ntr-o forma interna. UE converteste rezultatele
numerice din forma de reprezentare interna n forma externa, accesibila
utilizatorului. n forma externa, numerele se reprezinta de regula n zecimal.
Intern n calculator numerele se reprezinta binar, printr-o secventa de biti 0 si 1
pe baza unor regulii de reprezentare.
2.2.1. Modalitati de reprezentare a numerelor n
calculator
Modul de reprezentare a numerelor constituie o problema importanta
n proiectarea unui calculator, deoarece aceasta determina complexitatea
UAL, domeniul valorilor permise si precizia calculelor.
Pentru reprezentarea numerelor n calculator se folosesc doua moduri
de reprezentare:
- formatul virgula fixa ; ( VF)
- formatul virgula mobila. ( VM)
Reprezentarea n format VF se caracterizeaza prin aceea ca numarul de cifre
de la dreapta virgulei, pozitia virgulei si numarul de cifre de la stnga virgulei
sunt fixe. Virgula nu se reprezinta.
Exemplu:
S
- numere ntregi (forma cea mai utilizata);
- numere subunitare
- numere fractionare
Principalul dezavantaj la reprezentarea n VF este domeniul de valori restrns
fata de situatiile reale de calcul.
n formatul VM numerele se reprezinta astfel: be x m, unde:
- b: este baza de reprezentare;
- e: indica ordinul de marime a numarului.
Reprezentarea informatiei n calculator
29
- m: mantisa arata marimea exacta a numarului ntr-un anumit domeniu.
Numarul de cifre al mantisei da precizia reprezentarii.
Pentru ca ntr-o reprezentare sa nu trebuiasca a fi memorat numarul de cifre al
partii fractionale, s-a impus conditia de normalizare a mantisei .
Conform acestei conditii numarul se exprima n asa fel nct mantisa sa fie
subunitara, cu prima cifra dupa virgula nenula.
Pentru reprezentarea n calculator a numerelor ntregi, se utilizeaza urmatoarele
coduri:
a) codul binar ponderat pentru numere fara semn. Numarul se reprezinta prin
valoarea sa pe toti cei n biti ai reprezentarii, domeniul de valori fiind :
D = [0,2n - 1]
Exemplu: n=16 D=[0,65535] inclus in Z;
n=32 D=[0,232 - 1] inclus in Z .
b) codul " complement " fata de 1"
Pentru numere pozitive reprezentarea este:
S
0 Nr.
Pentru numerele negative, S=1,ceilalti biti servind pentru negarea valori
absolute a numarului .Negarea se realizeaza la nivel de bit: bitii 0 devin 1 si bitii
1 devin 0.
Exemplu: N = -5 pe 8 biti este l 1.l111010
Matematic , C1 al unui numar negativ N care se reprezinta pe n biti
este:
C1(N)=2n-1-V , V = lNl
c) codul complement fata de 2
Pentru numere pozitive reprezntarea este de :
0 Nr.
Pentru numere negative se aplica urmatoarea regula de complemetare:
- se reprezinta numarul n valoarea absoluta,
Programarea calculatoarelor 30
- se face C1 al valori absolute la care se aduna 1.
Exemplu: C2 al N= -5 pentru n=8 este: 11111011
Matematic, C2 al unui numar negativ N este C2(N)=2n-V n=dimensiunea
reprezentarii
V=lNl
Domeniul de valori este :
D=[-2n-1,2n-1-1] inclus n Z.
Exemplu: n=16 D=[-32368,32367] inclus n Z
n=32 D=[-231,231-1] inclus n Z
Exemplu: 3.45 = 101 x 0.345 rezulta e = 1, m = 0.345
Dezavantajul VM fata de VF l constituie complexitatea dispozitivelor
care efectueaza operatii aritmetice cu astfel de numere.
Exemplu: 80x87 coprocesor matematic. Avantajul major l
constituie domeniul larg de valori si precizia mult mai buna.
Pentru ca exponentul sa nu fie negativ se aduna exponentului o cantitate fixa
obtinndu-se asa numita caracteristica .
C = e + valoarea
Exemplu : la IBM-PC simpla precizie este:
31 30 23 22 0
S C M
unde: n=2e x m'
c=e + 128 ( 8 biti )
m=m'din care lipseste primul bit de dupa virgula
( este ntotdeauna 1 ) ( 23 cifre )
V mantisa min. = 0.1..........0
V mantisa max.= 0.11........1
V min.= 0.100 x 2-127 = 2.9837 x 10-39
V max.= 0.111 x 2127 = 1.7014 x 1036
Nr. Mantisa = 223 = 8388608 = 8.4 x 106
- precizia n zecimal este de sase cifre.
Reprezentarea informatiei n calculator
31
S = 0 - numere pozitive
S = 1 - numere negative
sau:
63 62 55 54 0
S C m
- dubla precizie.
Valorile externe reprezentate sunt:
///////I I/////////./////////I I///////
unde: V min. = 0.100.......0(2) x 2-127
V max.= 0.111.....1 (2) x 2127
Precizia reprezentarii este cea de sase cifre zecimale ( simpla precizie),
respectiv 16 cifre zecimale ( dubla precizie ).
Observatii:
- n urma calculului se pot obtine rezultate care depasesc domeniul admis.
- Numerelor reprezentate n virgula mobila se aplica algebra cu
numere cu precizie finita, algebra n care legile de asociativitate si
distributivitate nu sunt respectate.
2.2.2. Reprezentarea cifrelor zecimale n BCD
( Binary Coded Decimal )
Cifrele binare de la 0 la 9 sunt reprezentate prin valori binare echivalente pe 4
biti conform tabelului urmator:
cifra | cod BCD
----------------------------------
0 | 0000
1 | 0001
2 | 0010
3 | 0011
4 | 0100
5 | 0101
6 | 0110
Programarea calculatoarelor 32
7 | 0111
8 | 1000
9 | 1001
n reprezentarea unui numar zecimal fiecare cifra se reprezinta separat conform
tabelului.
Exemplu: 78(10) = 0111 1000 ( BCD)
n cod binar: 78(10) = 00101110
Avantajul acestei codificari este corespondenta ntre cifra zecimala si valoare.
Pentru sistemele cu dispozitive care utilizeaza numere n cod BCD este
necesara o operatie de conversie binar - BCD.
2.3. Reprezentarea informatiei nenumerice
Informatia prelucrata de calculator nu se rezuma numai la numere ntregi si
reale, exista si alte tipuri de informatii ce pot fi memorate si prelucrate n
calculator: text, adrese de memorie, informatii de stare, instructiuni n cod
masina etc.
2.3.1. Reprezentarea textului
Textul format din caractere este una din formele cele mai utilizate
pentru memorarea si manevrarea informatiei.
Setul caracterelor ce trebuie reprezentate n calculator include: literele
din alfabet ( A la Z, a la z ), cifrele zecimale ( 0 la 9 ) si semne speciale ( - , + ,
: , ~ , ! , @ , # , $ , % , & , * , " )
n afara acestor caractere tiparibile mai exista si caractere netiparibile ( ex.:
CR ). Codul universal acceptat pentru reprezentarea informatiei text este codul
ASCII ( American, Standard Code for Information Interchange ) .Codul
ASCII este un cod pe 7 biti deci adunate 128 caractere.
Primele 32 de coduri sunt coduri de control ( netiparibile ).
Exemplu:
- caractere de control pentru comunicarea cu dispozitivele.
1 - SOH ( Start of Header )
2. - STX ( Start of Text )
3. - ETX ( End of Text )
Reprezentarea informatiei n calculator
33
4. - EOT ( End of Transmision )
- Caractere de control pentru deplasarea cursorului.
8. - BS ( Back Space )
9. - HT ( Horizontal Tabulation )
10. - LF ( Line Feed )
11. - VT ( Vertical Tabulation )
12. - FF ( Farm Feed )
13. - CR ( Carriage Return )
14.- ESC ( Escape ) = 27(10) ( 1Bh).
Caracterele, cifre zecimale ( 0 la 9 ) au codurile ntre 48 si 57 ( 30h -
39h ).
Caracterele, literele mari ( A - Z ) au codurile ntre 41h-5Ah, iar literele mici
(a-z) ntre 61h-7Ah.
Memorarea codului unui caracter se face pe un octet. Deoarece la
reprezentare se folosesc doar 7 biti ,la 8-lea bit (cel mai semnificativ) este
liber .
Asupra sirurilor de caractere se pot face pot face operatii ca: comparare,
cautarea a unei anumite segvente, concatenare, etc.
La IBM-PC se utilizeaza codul ASCII extins pe 8-biti. La acest cod
toate cele 256 de valori sunt tiparibile. Primele 32 de coduri ( 0 - 31 ) si
codurile 128 - 255 sunt folosite pentru codificarea unor caractere speciale (
semigrafice, din alte alfabete, din matematica ). Codurile ntre 32 si 127 au
aceeasi semnificatie ca la codul ASCII standard.
2.3.2 Alte reprezentari
n afara numerelor si a textelor n calculator se reprezinta si alte tipuri de date.
Rezultatul unui test sau comparatii. (Ex.: a < b) este o informatie logica, lund
valorile adevarat ( True ) sau fals ( False ). Desi pentru reprezentarea valorilor
logice ar fi suficient un singur bit se foloseste un octet ( ooh - False, OFFh -
True ).
Informatia din calculator este memorata n locatie de memorie, locatii care se
identifica prin adrese. Adresele de memorie, care si ele formeaza un tip de
informatie ce poate fi utilizata n aplicatii, sunt numere ntregi fara semn. Pentru
Programarea calculatoarelor 34
o adresa de memorie de capacitate 2n locatii sunt necesare n biti pentru
codificarea adresei .
Instructiunile n cod masina constituie o alta categorie de informatie ce se
reprezinta n memoria calculatorului. O instructiune n cod masina se reprezinta
printr-o secventa de biti 0 si 1, pe unul sau mai multe cuvinte de memorie.
n concluzie toate informatiile se afla n memoria calculatorului se reprezinta
prin segvente de biti 0 - 1.Fiecarei segvente i se asociaza un nteles n functie
de context.