Sunteți pe pagina 1din 32

2.4.

Unitati de masura pentru informatie


Azi unitatea de masura pentru informatie = “bit”-ul.
Un bit (binary digit) = unitatea de baza pentru informatie in:
- procesele de calcul ;
-comunicatiile digitale.
Un bit poate avea la un moment dat doar una dintre cele doua valori posibile, si de
aceea poate fi implementat fizic prin intermediul unui dispozitiv cu doua stari. Aceste
valori sunt reprezentate uzual ca si 0 si 1.

Dpdv al informatiei, un bit reprezinta informatia obtinuta dupa analizarea unei variabile
aleatoare care poate lua la un moment dat doar una dintre cele doua valori posibile.

Exemplu – variabila asociata cu starile operationale ale unui LED (light-emitting diode):
„switched-on (pornit)” si respectiv „switched off (oprit)”.
Cantitatea de informatie obtinuta prin vizualizarea starii LED-ului este cantitatea minima
de informatie care se poate obtine. De ex. pentru un aparat „LED switched on” poate
simboliza „functionare normala”, pe cand „LED switched off” poate simboliza „a aparut
un defect”.
Multipli de biti
Binar (convenabil pt. a se utiliza in aplicatii din
Zecimal
Computer science)
Numar de Numar
Metric JEDEC IEC
biti de biti
1000 Kbit kilobit 1024(210) Kbit kilobit Kibit kibibit
IEC (International
10002 Mbit megabit 10242 Mbit megabit Mibit mebibit
Electrotechnical
1000 3
Gbit gigabit 1024 Gbit gigabit
3
Gibit gibibit
Commission) – comisia
1000 4
Tbit terabit 1024 - 4
- Tibit tebibit
1000 5
Pbit petabit 1024 - 5
- Pibit pebibit
care se ocupa de
1000 6
Ebit exabit 1024 - 6
- Eibit exbibit
Standardele Internationale
1000 7
Zbit zettabit 1024 - 7
- Zibit zebibit
pentru tehnologii din
1000 8
Ybit yottabit 1024 - 8
- Yibit yobibit
domeniile Electricitate si
alte domenii conexe ei.
JEDEC Solid State Technology Association (Joint Electron Device Engineering
Council) este o asociatie care elaboreaza standarde din industria Electronica.

Deoarece coexista sisteme de notatie pentru multiplii bitilor, au aparut confuzii si s-au
generat controverse in literatura de specialitate.
Ambiguitatea provine din lipsa standardizarii notatiilor in domeniile Computer Science si
Communications. Companiile au permisiunea sa utilizeze orice notatii vor!
In practica, se manipuleaza bytes (octeti, grupuri de 8 biti).
Multiplii folositi pentru biti se folosesc si pentru octeti. De ex. KB se foloseste pentru a
desemna “kilobyte”.
2.5. Codificarea datelor

Informatia poate fi conceputa doar in cadrul de lucru al unui schimb intre parteneri :
“sursa” o genereaza si “receptorul” o primeste.
Schimbul de informatii genereaza probleme specifice derivand din expresia fizica si
formala a continutului informatiei.
Codificarea =proces prin care informatia este reprezentata intr-un anume format, in
conformitate cu reguli bine definite.
Prin codificare, o informatie este asociata unui (grup de ) simbol(uri).
Cod=set of simboluri elementare, impreuna cu regulile prin care asociem o combinatie
de simboluri elementare unei informatii.

Pentru a mentine si interpreta informatia primita, receptorul trebuie:(a) sa aiba acces la


suportul fizic al informatiei; (b) cunoasca codul folosit de transmitator.

Exemplu: Desi inconjurati de un “ocean” de unde electromagnetice , informatia pe care o


transporta acestea se poate obtine doar de cei care detin un Radio, TV sau orice alt
receptor corespunzator informatiei primite si sunt capabili sa decodeze semnalele
primite. In plus, este obligatorie cunoasterea limbii folosite intr-un mesaj vocal (sau
detinerea unui translator pentru aceasta).
Informatia si Codificarea sunt entitati inseparabile : informatia nu poate exista fara un
suport formal pentru exprimarea ei , iar codificarea care nu se utilizeaza pentru
inregistrarea si transmiterea informatiei este un nonsens.
Pasii pentru ciclul de procesare automata a datelor implica diferite tipuri
de codificare a datelor.

Semnal analogic

Secventa binara

Dispozitiv de esantionare cuantificator Codificator


0000000001 – id esantion; 4294967295 - id sistem achizitie de date;
574,193,767,1023,520,492,510,520 – valori (cuante, numere intregi, pozitive),
asociate celor 8 canale de date

0000000001,4294967295,574,193,767,1023,520,492,510,520
0000000002,4294967295,574,191,763,1023,520,490,508,520
0000000003,4294967295,577,189,761,1023,520,490,507,520
0000000004,4294967295,579,189,758,1023,521,489,507,522
2.5.1. Codificarea externa a informatiei

Codificarea externa a informatiei apare:


(a) In timpul procesului colectarii datelor, cand un simbol (care poate fi o litera, o cifra
sau un semn special) este asociat cu fiecare entitate informationala;
(b) In timpul extragerii rezultatelor.
(a) Codificarea datelor de intrare este extrem de importanta :
(a1) Pentru a imbunatati eficienta procesarii ulterioare;
(a2) Pentru a simplifica manipularea datelor de catre oameni.
Oamenii prefera sa asocieze simboluri care sa fie cat mai apropiate de limbajul
natural.
Pentru calculatoare cel mai bine este insa sa se realizeze o codificare “optima”, in care
sa se utilizeze un numar minim de simboluri, selectate a.i. sa se permita procesarea cu
un numar minim de operatii. Uneori acest tip de codificare exista deja in sectorul de
business care furnizeaza datele, deoarece acestea se utilizeaza in activitatile zilnice.

Exemplu: Pentru o colectie de date referitoare la studentii unei facultati, se poate folosi
CNP-ul pentru identificarea studentilor, deoarece fiecare student are cate unul asociat.
Avantaj: se elimina ambiguitatile relative la identificarea studentilor. Totusi, pentru ca
personalul sa poata folosi identificarea, se practica forma naturala a reprezentarii umane
(nume, prenume, initiala).
Azi, considerand facilitatile oferite de sistemele moderne de calcul, se prefera
introducerea datelor folosind template-uri special proiectate sau utilizarea de limbaje cat
mai apropiate de cele naturale.
(b) In timpul extragerii datelor, se prefera utilizarea de formate de reprezentare
sugestive, incluzand aici elemente multi-media usor de intepretat. Scopul este de a
elimina pe cat se poate codificarile care ar permite citirea documentelor doar de catre
specialisti cu experienta in domeniu.

2.5.2. Codificarea interna a informatiei

Codificarea interna a informatiei este specifica procesarii datelor, deoarece sistemele


de calcul opereaza doar cu reprezentari binare.
Codificarea se poate realiza in conformitate cu:
- anumite standarde internationale intens utilizate ( ASCII, binar, binar-zecimal, Unicode
etc.)
-conventii locale, menite sa furnizeze cele mai bune performante posibile pentru un caz
specificat.

Calitatea codificarii interne influenteaza: (a) timpul de procesare; (b) portabilitatea


programelor; (c) gradul de utilizare a datelor pentru categorii distincte de oameni.
Tehnicile de codificare au evoluat semnificativ de-a lungul timpului.
Extras din tabela cu modul de codificare interna a datelor in ASCII
Extras din tabela cu modul de codificare interna a datelor in UNICODE
2.5.3. Codificarea redundanta
Codificarea redundanta (exemplu pe urmatorul slide) este specifica proceselor
folosite pentru transmiterea si stocarea informatiei pe diferite suporturi externe.
Se utilizeaza in mod conjugat doua tipuri de simboluri:
- simboluri utile (denumite si simboluri informationale) - care se utilizeaza pentru a
reprezenta informatia insasi;
-simboluri aditionale (denumite si simboluri de control) – care se afla in relatii
predeterminate (PR) cu simbolurile informationale.
Atunci cand nu se respecta o PR, acest lucru se detecteaza la receptie si se realizeaza
o corectie automata a erorilor .
Criptarea informatiei = reprezentarea informatiei folosind un format special, in scopul
de a-l face ilizibil pentru cei care nu cunosc regulile de criptare.
Criptarea se poate realiza:
- In timpul codificarii externe (de ex. cand operatorul uman nu trebuie sa cunoasca
sensul datelor pe care le manipuleaza – cazul informatiei militare sau medicale);
- In timpul codificarii interne, pentru a preveni furtul de informatii.
Criptarea trebuie utilizata cu multa prudenta si doar cand este strict necesara,
deoarece mareste complexitatea operatiilor si timpul de rulare asociat, putand conduce
la pierderi irecuperabile de date in timpul accidentelor.
Sistemele de fisiere moderne
ofera facilitatea de criptare a
datelor (ex. NTFS).
Obs: Deoarece codificarea datelor inseamna de fapt o asociere intre un element din
realitatea fizica sau virtuala si respectiv o combinatie de simboluri dintr-un anumit
alfabet, este evident ca se poate asocia cate un numar fiecarei entitati.
In alte cuvinte, fiecare entitate poate fi reprezentata printr-un numar si de aceea orice
informatie poate fi codificata numeric.
2.6. Ciclul de exploatare a datelor

Diagrama prezinta modul in care datele sunt


transformate in timpul utilizarii lor a.i. sa se obtina
valoare adaugata la fiecare nivel.
Cap. 3. Reprezentarea numerica a informatiei

3.1. Sisteme de numeratie

Sisteme de numeratie SN= o colectie de reguli relativ la reprezentarea numerelor


utilizand simboluri denumite cifre.
Alfabetul sistemului de numeratie= set de cifre/litere permise pentru a fi utilizate in
sistemul de numeratie.
Un numar este reprezentat de o secventa de cifre, ca de exemplu:
1234 1011,01 XXV
In general , formatul utilizat pentru reprezentarea numerelor reale este:

cn-1cn-2…ck…c1c0,c-1c-2…c-m (3.1.)
unde ck reprezinta cifra din pozitia k.
Se utilizeaza doua atribute pentru a caracteriza fiecare numar: valoare si reprezentare.
Valoarea este unica, insa nu exista nicio limita pentru numarul de reprezentari posibile!
Observatie: Reprezentari identice pot reprezenta numere diferite (valori) atunci cand se
folosesc seturi diferite de reguli pentru reprezentare.
Exemplu: “70” reprezinta numere distincte atunci cand se considera ca fiind reprezentat
in baza 8, respectiv in baza 10!
3.1.2 Clasificarea sistemelor de numeratie

In functie de valoarea si pozitia cifrelor intr-o reprezentare numerica, SN se pot clasifica


ca : (a) Simbolice (nepozitionale); (b) Pozitionale.
Un sistem de numeratie simbolic (nepozitional) = SN pentru care valoarea unei cifre nu
depinde in mod necesar de pozitia sa in interiorul reprezentarii. Exemplu: Sistemul de
numeratie roman : atunci cand se reprezinta numarul XXX, cifra X se considera ca
avand valoarea 10 indiferent de pozitia sa.
Un sistem de numeratie pozitional (SNP) = sistem de numeratie pentru care valoarea
unei cifre depinde de pozitia sa in interiorul reprezentarii.
Atributele folosite pentru a caracteriza un SN:
1) Un numar intreg r, denumit radacina sau baza lui SN. El reprezinta numarul de cifre
distincte permise pentru a reprezenta numarul in fiecare pozitie a reprezentarii
numarului.
2) Un alfabet ordonat, constand din r cifre distincte.
3) O pondere asociata fiecarei pozitii din reprezentarea numarului.
Exemplu: SN-ul zecimal are baza r=10 si alfabetul {0,1,2,3,4,5, 6,7,8,9}. Atunci cand se
reprezinta un numar real, ponderea fiecarei cifre este 10k , unde k reprezinta pozitia
cifrei relativ la virgula (k>=0 pentru partea intreaga si k<0 pentru cea fractionara).
Un SNP este omogen daca numarul de cifre permis pentru fiecare pozitie din
reprezentare este acelasi. Exemplu: SN-ul zecimal, unde pentru orice pozitie se pot
folosi cifrele {0,1,…,9}.
Un SNP este mixt daca numarul de cifre permis pentru fiecare pozitie din reprezentare
este diferit. Exemplu : atunci cand se masoara data calendaristica si ora, utilizam 12
luni, cel mult 31 zile, 24 ore, 60 minute si 60 secunde.
In functie de tipul ponderilor, SNP se poate clasifica dupa cum urmeaza: (a) SNP cu
ponderi naturale; (b) SNP cu ponderi artificiale.
Un SNP cu ponderi naturale trebuie sa respecte doua conditii:
1) Pentru partea intreaga a reprezentarii, ponderea pozitiei cea mai din dreapta este 1,
iar pentru restul pozitiilor ponderea este egala cu produsul numarului de cifre
permise, pentru fiecare pozitie catre dreapta, pana la virgula.
2) Pentru partea fractionara a reprezentarii, ponderea fiecarei pozitii p este egala cu
inversul produsului numarului de cifre permise considerand toate pozitiile catre
stanga, pana la virgula.
3) Observatie: Pe baza definitiei de mai sus, pentru SNP omogene cu baza r, pozitia k
din reprezentarea (3.1.) a numarului are ponderea rk.
Exemplu: Se considera numarul 1234,56 reprezentat in sistemul zecimal:

Se va folosi aceeasi reprezentare, dar acum se va considera ca reprezentarea este in


sistemul octal:

La un SNP cu ponderi artificiale, cel putin una dintre conditiile mentionate mai sus este
incalcata. Exemplu: o reprezentare a numerelor intregi unde ponderea celei mai
semnificative pozitii este egala cu rk , iar toate celelalte pozitii au ponderea ri.
Un SN este cu reprezentare directa daca fiecare cifra este reprezentata printr-un
simbol distinct.
Exemplu: fiecare dintre cele 10 cifre ale unui SN zecimal are o reprezentare distincta.
Un SN este cu reprezentare codificata daca numarul de simboluri folosite pentru a
reprezenta cifrele este mai mic decat numarul de cifre permise. Fiecare cifra trebuie sa
fie reprezentata printr-o combinatie (cod) de simboluri permise.
Exemplu: Reprezentarea cifrelor folosite in sistemul zecimal in cadrul codului MORSE,
unde fiecare cifra este reprezentata printr-o combinatie de puncte si linii.
Observatie: Datorita utilizarii largi in scopul rezolvarii problemelor majore ale tehnicii de
calcul, in cadrul cursului vor fi abordate doar SNP omogene cu ponderi naturale.

3.1.3. Reprezentarea numerelor in SNP omogene cu ponderi naturale


Reprezentarea intregilor
Se va considera un intreg N si un SNP omogen cu ponderi naturale cu baza r.
Reprezentarea lui N in baza r (notata prin N(r)) este data de secventa
N(r) =an-1an-2...a1a0 , unde:
- ai este o cifra permisa in cadrul bazei: ai apartine setului {0,1,…,r-1} atunci cand i
apartine gamei [0;(n-2)] si an-1 apartine setului {1,…,r-1} (cea mai semnificativa cifra
nu poate fi 0!)
- Valoarea lui N este data de relatia polinomiala:
N=an-1rn-1+an-2rn-2+...+a1r+a0 (3.2)
Remarci:
R1. Relatia (3.2) mai este cunoscuta si ca “dezvoltarea numarului N in functie de puterile
lui r”.
R2; Acelasi numar are diferite reprezentari atunci cand se utilizeaza baze diferite. Pentru
baze mai mari se obtin reprezentari mai scurte.
Exemplu: Numarul zecimal 75 poate fi reprezentat in baza 8 prin reprezentarea 113 ,
deoarece:
75=7*10+5=1*64+1*8+3.
Proprietate: reprezentarea unui intreg in baza r este unica.
Cifra cea mai semnificativa = Cea mai din stanga cifra a reprezentarii numarului.
Cifra cea mai putin semnificativa = Cea mai din dreapta cifra a reprezentarii numarului b)
Reprezentarea numerelor reale
Un numar real (R) consta dintr-o parte intreaga (N) si o parte fractionara (F). Se
considera un SN cu baza r. Atunci:
R=N+F, unde:
N=[R], (“[ ]” se utilizeaza pentru a desemna “partea intreaga din …”)
F={R} (“{ }” se utilizeaza pentru a desemna “partea fractionara din …”)
deci, R=[R]+{R}
Reprezentarea lui R in baza r (notata prin R(r)) este data de urmatoarea secventa de
cifre:

R(r)=an-1.......a1a0,a-1a-2...a-m (3.3)
unde:
ai – cifre permise in baza r;
ai in multimea {0,1, ... ,(r-1)} pentru i din intervalul [(-m+1);(n-2)] ;
an-1 si a-m apartin intervalului [1,...,(r-1)]; (cea mai semnificativa si cea mai putin
semnificativa cifra nu pot fi 0)
si nu exista nicio pozitie t<0 a.i., incepand cu ea, at=at-1=…at-p… (nu este nr. periodic)
Valoarea numarului R este data de: n 1


r
R  a r n 1  ...  a r  a  a r 1  ...  a m 
n 1 1 0 1 m a ri
i
(3.4)
i  m
Proprietati:
P1: Inmultirea cu r a unui numar real reprezentat in baza r este echivalenta cu
deplasarea cu o pozitie catre stanga a cifrelor din reprezentare. Se adauga zero in cea
mai din dreapta pozitie.
Demonstratie: Se considera reprezentarea R(r)=an-1.......a1a0,a-1a-2...a-m considerand
puterile lui r, ca in (3.4). Dupa inmultirea lui R(r) cu r, se obtine:
r*R=an-1rn+...+a1r2+a0r+a-1+a-2r-1...+a-mr-m-1
De aceea produsul de mai sus se poate reprezenta ca an-1.......a1a0a-1,a-2...a-m
P2: Impartirea la r a unui numar real reprezentat in baza r este echivalenta cu
deplasarea cu o pozitie catre dreapta a cifrelor din reprezentare. Se adauga zero in cea
mai din stanga pozitie.
Demonstratie: Se considera reprezentarea R(r)=an-1.......a1a0,a-1a-2...a-m considerand
puterile lui r, ca in (3.4). Dupa impartirea lui R(r) la r, se obtine:
R/r=an-1rn-2+...+a2r+a1+a0r-1+a-1r-2...+a-mr-m+1
De aceea catul de mai sus se poate reprezenta ca
R/r=an-1.......a1,a0a-1a-2...a-m
P1 si P2 sunt proprietati foarte importante de care trebuie tinut cont atunci cand se
realizeaza operatii aritmetice in interiorul unui computer.
In principiu, reprezentarea numerelor reale considerind aspectele discutate mai sus ar
putea implica un numar infinit de ranguri. Dar, datorita unor aspecte de ordin fizic,
atunci cand se lucreaza cu calculatoare si in general pentru activitatile umane, se
utilizeaza doar un numar limitat de ranguri.
Partea intreaga are o reprezentare unica in orice baza r, pe cand partea fractionara
poate admite un numar infinit de reprezentari in aceeasi baza, depinzand de numarul de
ranguri considerat (lungimea reprezentarii).
De aceea, pentru diverse cazuri particulare, trebuie determinate criterii specifice pentru a
aprecia lungimea minima a reprezentarii.
3.2. Metode generale de conversie
3.2.1 Generalitati
Folosim expresia “conversia din baza p (baza initiala) in baza q (baza finala) a unui
anumit numar R”, pentru a desemna tranzitia din reprezentarea lui R in baza p catre
reprezentarea lui R in baza q.
Exista 3 metode generale de conversie folosite pentru a realiza cele de mai sus:
- Metode de conversie cu calcul in baza initiala;
- Metode de conversie cu calcul in baza finala;
- Metode de conversie cu calcul in baza intermediara.
Atributul de “general” este legat de faptul ca nu se impune nicio restrictie – orice baza
se poate folosi ca si baza initiala sau finala.
Oricum, exista anumite sisteme de numeratie utilizate frecvent, pentru care au fost
concepute metode de conversie specifice. Acestea sunt mai usor de utilizat si in general
furnizeaza mai rapid rezultatele prin comparatie cu metodele generale de conversie.

3.2.2 Metode de conversie cu calcul in baza initiala


3.2.2.1 Conversia intregilor
Se considera urmatoarea reprezentare a unui intreg in baza p:
I(p)=an-1an-2…ak…a1a0 (3.5)
Reamintim ca ai poate fi o cifra, conform cerintelor bazei p. Trebuie determinata
reprezentarea cifrelor ai in baza q:
I(q)=bl-1bl-2…b1b0 (3.6)
Dezvoltarea considerand puterile lui q, conform cu ec. 3.2, este:
I(q)=bl-1ql-1+bl-2ql-2+…+b1q+b0 (3.7)
Impartind la q ambii membri din (3.7) si efectuand calculele in baza q se obtine:

=> (3.8)

In continuare se imparte I(p) la qp (q reprezentat in baza p) si se realizeaza calculele


in baza p. Se obtine:
(3.9)

Ipoteza de lucru presupune valori identice, deci I(p)=I(q) si q=qp. Inseamna ca:
I(p) /qp=I(q)/q (3.10)

Acum, considerind (3.8) si (3.9) se obtine imediat ca: (3.11)

Se aplica metoda identificarii termenilor. Se considera ca atat partile intregi cat si cele
freactionale trebuie sa coincida. In consecinta se obtine:

I1(q)=I1(p) (3.12) si respectiv b0=np (3.13)


Din (3.13) se obtine imediat b0 scriindu-l pe np ca pe o cifra in baza q (totdeauna,
deoarece np/qp , cu trebuie sa fie un numar fractionar).
Considerind (3.12) , procesul prin care se pot determina cifrele din baza q poate
continua, aplicand impartiri succesive asupra lui I1(q) si respectiv asupra lui I1(p). Cifrele
b ,b ,…,b se determina in acest mod. Procesul se incheie atunci cand I =0.
Considerind cele de mai sus si notand pasii cu “Pi” (i=1...6), se poate determina
urmatorul algoritm de conversie:
P1) i=0
P2) I(p) se imparte la qp. Calculul se realizeaza in baza p. Se obtine un cat intreg I1(p) si un
rest intreg np.
P3) Se scrie np ca o cifra in baza q (notata cu n (q)) si se obtine bi=n (q).
P4) I(p)=I1(p); i=i+1
P5) Daca I(p)0 , se reitereaza calculele incepand cu pasul P2.
Daca I(p)=0 , se revine la pasul P6.
P6) STOP
Considerind pasii de calcul, metoda este denumita si “metoda impartirilor succesive”.
Remarci
R1 Aceasta metoda va furniza totdeauna o reprezentare in baza q cu un numar finit de
ranguri, deoarece la fiecare pas I1(p)<I(p) si de aceea la un moment dat se va obtine
I1(p)<qp , a.i. la pasul urmator catul va fi 0.
R2 Reprezentarea in baza q este unica.
R3 Cifrele din I(q) se obtin in ordine inversa, incepand cu cifra cea mai putin
semnificativa.
R4 Metoda se recomanda pentru conversiile din baza 10 catre orice baza q, deoarece
oamenii sunt familiarizati cu impartirea in baza 10.
Exemple
E1. Consideram I(10)=173. Se doreste determinarea reprezentarii sale in baza 8.

=>I(8)=255

E2. Consideram I(10)=173. Se doreste determinarea reprezentarii sale in baza 16.

=>I(16)=AD.

3.2.2.2. Conversia numerelor fractionare


Consideram F , un numar fractionar cu m ranguri , reprezentat in baza p:
F(p)=0,a-1a-2…a-m (3.14)
Se doreste determinarea reprezentarii sale in baza q
F(q)=0,b-1b-2…b-k (3.15)
Reprezentarea din (3.15) conduce la urmatoarea dezvoltare considerand baza q:
F(q)=b-1*q-1+b-2*q-2+…+b-k*q-k (3.16)
Inmultim ambii membri din (3.16) cu q si realizam toate calculele in baza q. Se obtine:
q*F(q)=b-1+b-2*q-1+b-3*q-2+…+b-k*q-k+1 , deci q*F(q)= b-1+ F1(q) (3.17)
Inmultim si F(p) cu qp . Realizam toate calculele in baza p si obtinem:
Ipoteza de lucru presupune valori identice, nedepinzand de r, deci F(p)=F(q) si q=qp. De aceea:
qp* I(p) =q*I(q) (3.19)
Apoi, considerand (3.17) si (3.18) obtinem imediat:
b-1+ F1(q) )=Ip+F1(p) (3.20)
Aplicand tehnica de identificare a termenilor, din (3.20) obtinem:
b-1=I(p) (3.21)
F1(q) )= F1(p) (3.22)
Se considera (3.21). Scriind I(p) ca pe o cifra in baza q, obtinem b-1.
Relatia (3.22) permite reiterarea calculelor pentru a determina celelalte cifre: b-1, b-2,… .
Procesul de calcul se opreste daca F1(p)=0 sau daca daca s-a obtinut un numar de cifre suficient
de mare pentru a furniza precizia solicitata pentru reprezentarea in baza q.
Considerind cele de mai sus, se poate determina urmatorul algoritm de conversie:
P1) i = 1
P2) Se inmulteste F(p) cu valoarea qp. Calculele se realizeaza considerand baza p. Se obtine un
intreg I(p) si o parte fractionara F1(p).
P3) Se scrie I(p) ca si o cifra in baza q (notata prin I (q)) si se obtine b-i=I (q).
P4) F(p)=F1(p) ; i=i+1
P5) Daca F(p)=0 , se executa P6. Daca numarul de ranguri impus s-a obtinut, se executa P6.
Daca F(p) 0 si numarul de ranguri impus nu s-a obtinut inca, se executa P2.
P6) STOP
Remarci
R1 Metoda se recomanda in special pentru conversia din baza initiala 10 catre o baza
finala q, dar se poate folosi relativ usor si pentru alte baze initiale p≠10 .
R2 Chiar daca reprezentarea in baza p are un numar de ranguri finit, reprezentarea in
baza q poate avea un numar de ranguri infinit (acesta este cazul reprezentarilor
periodice (simple, mixte) sau aperiodice).
R3 Intr-un computer numerele se pot reprezenta folosind doar un numar de ranguri finit.
De aceea, cand se obtine o reprezentare cu un numar de ranguri infinit (sau prea mare),
trebuie sa se realizeze o trunchiere. In acest caz, in functie de un criteriu obiectiv,
trebuie sa se determine lungimea minima permisa pentru reprezentarea in baza q, a.i.
sa se obtina o eroare de reprezentare acceptabila.
R4 Datorita trunchierilor, se pot obtine reprezentari diferite in baza q pentru acelasi
numar reprezentat in baza p, depinzand de lungimea reprezentarii.
Exemple:
E3. Se considera numarul fractionar F(10)=0,0625. Se doreste reprezentarea sa in baza 8.
0,0625x8=0,5; b-1=0
0,5x8 =4,0 ; b-2=4 => STOP => F(8)=0,04.
E4. Se considera numarul fractionar F(10)=0,3 . Se doreste reprezentarea sa in baza 8.

0,3x8=2,4; b-1=2; 0,4x8=3,2; b-2=3; 0,2x8=1,6; b-3=1; 0,6x8=4,8; b-4=4;


0,8x8=6,4; b-5=6; 0,4x8=3,2=> b-6=3; ...
3.2.2.3. Precizia reprezentarilor numerelor fractionare
Def: Pasul aferent reprezentarii numerelor in baza p = valoarea absoluta a diferentei intre
reprezentarile a doua numere consecutive.
Se considera doua numere fractionare consecutive relativ la ultimul rang F1 si F2 (ex: 4.67 si
4.68) care sunt reprezentate in baza p ca:
F1(p)=0,b-1b-2...b-m (3.23)
F2(p)=0,b-1b-2...(b±1)-m (3.24)
Considerind dezvoltarile bazate pe puterile lui p la ambele numere, se obtine pasul:
PAS(p)=| F1-F2 |=p-m (3.25)
Eroarea absoluta de reprezentare este egala cu jumatate din valoarea pasului:
eA(p)=PAS/2=p-m/2 (3.26)
Fie un numar fractionar F, reprezentat in baza p folosind m ranguri. Pentru a-l reprezenta pe F
in baza q tebuie sa se determine lungimea minima a reprezentarii (kmin) a.i. sa se obtina o
eroare absoluta de reprezentare in baza q cel mult egala cu eroarea absoluta de reprezentare
in baza p. Conditia se poate scrie ca:
eA(q)  eA(p) (3.27)
Considerand (3.26) si (3.27) obtinem imediat conditia:
q-k/2 p-m/2 (3.28)
=> q-k  p-m => -k*log q -m*log p => k*log q m*log p
Rezulta ca: (3.29)
Baza logaritmului se poate alege aleator. Daca aceasta se alege egala cu q, obtinem o forma mai simpla:
In practica adesea se poate obtine o valoare kmin egala cu partea intreaga obtinuta dupa
rotunjirea la urmatorul intreg, a valorii din partea dreapta a rel. (3.29) ori (3.30):

kmin=m*logqp (3.31)

Exemplu E5: Se considera o reprezentare fractionara F(10)=0,6. Se deduce reprezentarea in baza


q=8.

0,6x8=4,8 => b-1=4; 0,8x8=6,4 => b-2=6; 0,4x8=3,2 => b-3=3; 0,2x8=1,6 => b-4=1; 0,6x8=4,8...

Se obtine F(8)=0,(4631).

Deoarece reprezentarea obtinuta este de tipul “numar periodic simplu”, este implicat un numar
infinit de ranguri , deci este necesara o trunchiere.
k min  1* log 10, care se rotunjeste la 2
8
m=1, p=10, q=8 =>

De aceea reprezentarea cu o lungime minim acceptabila este F* (8)=0,46.

Evident, orice alta valoare trunchiata a carei lungime este mai mare este acceptabila si
furnizeaza o eroare mai mica de reprezentare.
3.2.2.4. Conversia numerelor reale
Se considera R(p) ca si reprezentare in baza p a numarului real R. Vrem sa determinam
reprezentarea in baza q a aceluiasi numar = R(q).
Pentru a realiza conversia, R(p) va fi decompus in doua parti: cea intreaga I(p) si respectiv cea
fractionara F(p).
Pentru a realiza conversia lui I(p) se va utiliza metoda impartirilor succesive, iar pentru conversia
lui F(p) se va utiliza metoda inmultirilor succesive, eventual aplicand trunchieri.
Ulterior, ambele rezultate se vor reuni pentru a obtine R(q).
Exemplu E6: Se considera R(10)=173,65 . Se doreste determinarea lui R(8).
I(10)=173 => I(8)=255 (vezi exemplul E1)
F(10)=0,65. lungimea partii zecimale m=2.
0,65x8=5,2=> b-1=5; 0,2x8=1,6 => b-2=1; 0,6x8=4,8 => b-3=4; 0,8x8=6,4 => b-4=6; 0,4x8=3,2
=>b-5=3;0,2x8=1,6...
=> F(8)=0,5(1463). Trebuie pastrate in partea zecimala minim 2 x log8(10), adica 3
Reunind rezultatele se obtine: R(8)=255,514
3.2.3 Metode de conversie cu calcul in baza finala

Metode de conversie cu calcul in baza finala se aplica intr-o maniera unitara pentru ambele parti
(intreaga si fractionara).
Consideram reprezentarea unui numar real :
R(p)=an-1an-2 ...a1a0,a-1a-2...a-m (3.32)
Dezvoltarea sa in puteri ale lui p este:
R(p)=an-1pn-1+an-2pn-2+...+a1p1+a0+a-1p-1+a-2p-2+...+a-mp-m (3.33)
Se va scrie fiecare cifra din reprezentarea in baza p ca si un numar in baza q . Si p se va scrie ca
si un numar in baza q (p-> pq). In aceste circumstante, (3.33) devine:
R=an-1(q)p(qn-1)+an-2(q)p(qn-2)+...+a1(q)p(q)1+a0(q)+a-1(q)p(q)-1+ a-2(q)p(q)-2+...+a-m(q)p(q)-m (3.34)
Acum, efectuand toate calculele din (3.34) in baza q, in final se obtine R(q).
Observatie Metoda se recomanda in special pentru conversia unei reprezentari din baza p in
baza 10. Pentru intregi, metoda este relativ usor de aplicat pentru orice baza finala q.
Exemple
E7. Consideram reprezentarea in baza 8 (octal): R(8)=125,25. Se doreste sa se determine
reprezentarea sa in baza 10:
R(10)=1*82+2*81+5*80+2*8-1+5*8-2= 64+16+5+0,25+0,078125=85,328125
Consideram reprezentarea in baza 16 (hexazecimal) R(16)=AB,C.
Se doreste sa se determine reprezentarea sa in baza 10 :
R(10)=10*16+11+12*16-1 = 160+11+0,75=171,75
3.2.4 Metode de conversie cu calcul in baza intermediara

Se considera R(p) ca fiind reprezentarea in baza p a numarului real R. Se doreste


determinarea reprezentarii sale in baza q (notata prin R(q)).

Conversia se poate realiza in 2 pasi:


1) Folosind metoda de conversie cu calcul in baza finala, se determina reprezentarea R(r) a unui
numar dat R(p) in baza intermediara r.
2) Folosind metoda de conversie cu calcul in baza initiala, plecand de la R(r) , se determina R(q).
Remarci
R1) Metoda se recomanda pentru doua baze p si q . Baza r=10 este preferata in multe cazuri ca
si baza intermediara, deoarece calculele sunt mai simple.
R2) In anumite situatii practice este utila utilizarea altei baze intermediare (de ex. r=2) .
R3) Ar putea aparea probleme cand reprezentarea in baza intermediara consta dintr-o parte
fractionara care necesita un numar infinit de ranguri.
Exemplu E9: Se considera un numar baza 8 -> N(8)=45,2 . Se doreste obtinerea reprezentarii sale
in baza 16.
Se alege baza intermediara r=10.
1) N(10)=4*8+5+2*8-1=37,25(10)
2) ; 0,25*16=0,4

=> N(16)=25,4.
In mediile de programare moderne exista functii predefinite
pentru conversiile tratate in acest capitol. De exemplu in
Matlab exista functiile:
Exemple:
a) x=dec2bin(7); Se returneaza x =111
b) x=bin2dec('011'); Se returneaza x=3
c) x=hex2dec('AA') ;Se returneaza x=170
d) x= dec2base(15,2); Se returneaza x=1111
e) x=dec2base(170,16); Se returneaza x=AA;
f) x=oct2dec(77) ;Se returneaza x=63

S-ar putea să vă placă și