ALTE DOCUMENTE
|
||||||||||
Salt la: Navigare, cautare
Baza unui sistem de numeratie pozitional se defineste ca fiind numarul unitatilor de acelasi ordin de marime care formeaza o unitate de ordin imediat superior. Altfel spus, baza unui sistem de numeratie reprezinta numarul de semne distincte necesare scrierii unui numar. Teoretic, exista o multime de baze de numeratie, dar numai câteva s-au impus si sunt folosite curent în viata de zi cu zi (baza de numeratie zecimala si hexazecimala) sau în unele domenii specifice (baza de numeratie binara, octala, hexazecimala).
Orice sistem de numeratie pozitional are asociat o baza de numeratie definita prin:
Întrucât majoritatea bazelor de numeratie folosesc ca simboluri cifrele arabe si literele alfabetului latin este necesara o notatie care sa indice baza folosita pentru reprezentarea unui numar. De obicei aceasta se noteaza ca un subindice între paranteze rotunde, de ex. 354(7) (354 în baza 7), iar pentru bazele "2", "8" si "16" se pot utiliza alternativ literele "b" (de la binar), "o" (de la octal) respectiv "h" (de la hexazecimal). Exista si alte conventii de notare a bazei de numeratie folosita. De exemplu, la numarul 55 scris în sistemul hexazecimal se adauga fie un prefix "0x" (rezultând notatia 0x55), fie un sufix "h" (rezultând notatia 55h). Valorile numerice pentru care nu se specifica baza de numeratie se considera de regula ca sunt scrise în baza de numeratie zecimala.
Orice numar întreg, superior sau egal cu 2 poate fi o baza de numeratie. Daca "b" este o baza de numeratie, sistemul de numeratie are "n" simboluri de la "0" la "n-1". Pentru sisteme de numeratie cu baza mai mare ca 10 se folosesc si alte semne în afara cifrelor arabe, de exemplu litere (în sistemul de numeratie hexazecimal).
Într-un sistem de numeratie pozitional, orice numar este reprezentat printr-un sir de simboluri (cele din care se compune baza de numeratie). Fiecare pozitie a unui simbol în numar are o anumita pondere. Valoarea numarului este suma ponderata a simbolurilor din care este format numarul.
În teoria numerelor se demonstreaza ca daca "b" este baza de numeratie (cu b>1 si , atunci pentru , exista în mod unic rangul * si numerele c0, c1 . cn , numite cifre în baza "b", cu ci < b, pentru care:
Reprezentarea numarului "x" în baza "b" va fi cncn-1 . c1...c0 .
Altfel spus, data fiind o baza de numeratie "b", orice numar natural "x" se poate scrie ca o suma de produse formate din cifrele ci (scrise în baza "b") multiplicate cu puterea de rang corespunzator a bazei "b".
În cazul general, daca "x"este un numar real pozitiv, spunem ca cncn-1 . c1c0, c-1c-2c-3 este reprezentarea numarului "x" în baza "b" daca:
În cazul numerelor fractionare, cifrele din dreapta virgulei vor avea ponderi corespunzatoare, date de exponentii negativi ai bazei. De exemplu, reprezentarea în baza 10 a numarului 1101,001 scris în baza 2 este:
1101,001(2)= 1*23+1*22+0*21+1*20+0*2-1+0*2-2+1*2-3= 13,125(10)
Exemple de numere reprezentate în diferite baze de numeratie se gasesc în articolul Sisteme de numeratie .
Dat fiind un numar întreg (scris într-o baza oarecare b1), pentru scrierea lui într-o alta baza (b2) se împarte succesiv numarul scris în baza b1 la noua baza pâna când se obtine câtul 0;
Reprezentarea în noua baza se obtine prin scrierea resturilor (reprezentate în noua baza) în ordinea inversa obtinerii lor si multiplicarea cu puterea corespunzatoare a bazei care este egala cu rangul operatiei. De exemplu, pentru reprezentarea numerelor 61 (10) în bazele "2" respectiv "16" vom avea:
Reprezentarea lui 61(10) în baza 2 |
||||||||
Nr. |
: |
Baza |
= |
Q |
+ |
Rest în baza 10 |
Rest în baza 2 |
Rangul operatiei |
61 |
: |
2 |
= |
30 |
+ |
1(10) |
1(2) |
0 |
30 |
: |
2 |
= |
15 |
+ |
0(10) |
0(2) |
1 |
15 |
: |
2 |
= |
7 |
+ |
1(10) |
1(2) |
2 |
7 |
: |
2 |
= |
3 |
+ |
1(10) |
1(2) |
3 |
3 |
: |
2 |
= |
1 |
+ |
1(10) |
1(2) |
4 |
1 |
: |
2 |
= |
0 |
+ |
1(10) |
1(2) |
5 |
61(10)=111101(2) = 1*25 + 1*24 + 1*23 + 1*22 + 0*21 + 1*20 |
Reprezentarea lui 61(10) în baza 16 |
||||||||
Nr. |
: |
Baza |
= |
Q |
+ |
Rest în baza 10 |
Rest în baza 16 |
Rangul operatiei |
61 |
: |
16 |
= |
3 |
+ |
13(10) |
D(16) |
0 |
3 |
: |
16 |
= |
0 |
+ |
3(10) |
3(16) |
1 |
61(10) =3D(16) = 3*161 + 13*160 |
La conversia numerelor fractionare, se separa partea întreaga de partea fractionara si se vor face cele doua conversii separat. Partea fractionara a unui numar se poate scrie sub forma:
Df = x -1b-1 + x-2b-2 + . + x-m b-m
Prin multiplicare cu "b" a membrilor ecuatiei de mai sus obtinem:
b*Df = x -1 + x-2b-1 + . + x-m b-m+1
Se observa ca partea întreaga a expresiei din membrul drept este x -1. Prin scaderea acestei valori si o noua multiplicare cu "b" se obtine coeficientul x -2 ca parte întreaga a expresiei rezultate în membrul drept:
b*(b*Df) = x -2 + x-3b-1 + . + x-m b-m+2
Se continua aceste calcule atât timp cât multiplicam cu "b" numere diferite de 0. Este posibil ca în unele situatii, operatia de convertire sa nu se termine niciodata si din acest motiv, un alt criteriu de oprire este precizia acceptata a reprezentarii. De exemplu, pentru reprezentarea în baza 10 a numarului 1101,001 scris în baza 2 se parcurg urmatorii pasi:
Reprezentarea lui 0,61(10) în baza 2 |
||||||||
0,61 |
x |
2 |
= |
1,22 |
= |
1(10) |
1(2) | |
0,22 |
x |
2 |
= |
0,44 |
= |
0(10) |
0(2) | |
0,44 |
x |
2 |
= |
0,88 |
= |
0(10) |
0(2) | |
0,88 |
x |
2 |
= |
1,76 |
= |
1(10) |
1(2) | |
0,76 |
x |
2 |
= |
1,52 |
= |
1(10) |
1(2) | |
0,52 |
x |
2 |
= |
1,04 |
= |
1(10) |
1(2) | |
0,04 |
x |
2 |
= |
0,08 |
= |
0(10) |
0(2( | |
0,61(10) = 0,1001110.(2) |
Reprezentarea numarului în noua baza se face prin scrierea succesiva a partii întregi obtinute, în ordinea succesiva a operatiilor:
1101,001(2) = 1*23+1*22+0*21+1*20+0*2-1+0*2-2+1*2-3 = 13,125(10)
|