Sari la conținut

Bază de numerație

De la Wikipedia, enciclopedia liberă
Sistem de numerație
Sistem Bază
Unar 1
Binar 2
Ternar 3
Cuaternar 4
Cvinariu 5
Senar 6
Octal 8
Zecimal 10
Duodecimal 12
Hexazecimal 16
Vigesimal 20
Hexatrigesimal 36
Sexagesimal 60

Bazaunuisistem de numerație poziționalse definește ca fiindnumărul unităților de acelașiordin de mărimecare formează o unitate de ordin imediat superior.Altfel spus,bazaunuisistem de numerațiereprezintănumărul de semne distinctenecesarescrieriiunuinumăr. Teoretic, există o varietate debaze de numerație,dar numai câteva s-au impus și sunt folosite curent în viața de zi cu zi (baza de numerație zecimală și hexazecimală) sau în unele domenii specifice (baza de numerație binară, octală, hexazecimală).

Oricesistem de numerație poziționalare asociat o bază de numerație definită prin:

  • un număr întreg desimboluri(cifre,grup de cifre, litere, combinație de cifre și litere, semne, etc.) folosite pentrureprezentarea numerelorîn sistemul de numerație respectiv, și care dă și denumirea acestuia precum și a bazei de numerațieasociatelui;
  • regula de reprezentarea numerelor în acest sistem,unicăpentru toate bazele de numerație existente.

Notații folosite[modificare|modificare sursă]

Întrucât majoritatea bazelor de numerație folosesc ca simboluricifrele arabeșiliterele alfabetului latineste necesară onotațiecare să indice baza folosită pentru reprezentarea unui număr. De obicei aceasta se notează ca unsubindice între paranteze rotunde,de ex.354(7)(354 în baza 7), iar pentru bazele „2”,„8”și „16”se pot utiliza alternativ literele „b”(de la binar), „o”(de la octal) respectiv „h”(de la hexazecimal). Există și alte convenții de notare a bazei de numerație folosită. De exemplu, la numărul55scris în sistemul hexazecimal se adaugă fie un prefix „0x”(rezultând notația0x55), fie un sufix „h”(rezultând notația55h). Valorile numerice pentru care nu se specifică baza de numerație se consideră de regulă că sunt scrise în baza de numerație zecimală.

Numărul de semne folosite[modificare|modificare sursă]

Orice număr întreg, superior sau egal cu2poate fi o bază de numerație. Dacă „b”este o bază de numerație, sistemul de numerație are „n”simboluri de la „0”la „n-1”.Pentru sisteme de numerație cu baza mai mare ca10se folosesc și alte semne în afara cifrelor arabe, de exemplu litere (în sistemul de numerație hexazecimal).

Regula de reprezentare a unui număr[modificare|modificare sursă]

Într-unsistem de numerație pozițional,orice număr estereprezentat printr-un șir de simboluri(cele din care se compune baza de numerație). Fiecarepozițiea unui simbol în număr are o anumităpondere.Valoarea număruluiestesuma ponderatăa simbolurilor din care este format numărul.

Înteoria numerelorse demonstrează că dacă „b”este baza de numerație (cub>1și,atunci pentru,există în mod unic rangul*și numerelec0,c1…cn,numitecifre în bazab”,cuci< b,pentru care:

  • x = cnbn,cn-1bn-1,…. c1b + c0
  • pentru
  • cn<>0

Reprezentarea numărului „x”în baza „b”va ficncn-1…c1...c0.

Altfel spus, dată fiind o bază de numerație „b”,orice număr natural „x”se poate scrie cao sumă de produseformate din cifreleci(scrise în baza „b”) înmulțite cu puterea de rang corespunzător a bazei „b”.

În cazul general, dacă „x”este unnumăr real pozitiv,spunem că cncn-1…c1c0,c-1c-2c-3este reprezentarea numărului „x”în baza „b”dacă:

  • x = cnbn,cn-1bn-1,…. c1b + c0+ c-1b-1+c-2b-2...
  • cn<>0
  • pentru orice indiceexistăastfel ca(asigură unicitatea reprezentării)

În cazulnumerelor fracționare,cifrele din dreapta virgulei vor avea ponderi corespunzătoare, date de exponenții negativi ai bazei. De exemplu, reprezentarea în baza10a numărului1101,001scris în baza2este:

1101,001(2)= 1*23+1*22+0*21+1*20+0*2-1+0*2-2+1*2-3= 13,125(10)

Conversia unui număr natural[modificare|modificare sursă]

Dat fiind un număr întreg (scris într-o bază oarecareb1), pentru scrierea lui într-o altă bază (b2) se împarte succesiv numărul scris în bazab1la noua bază până când se obține câtul0;

  • la prima împărțire se obține un câtQ0și un restr0
  • dacăQ0este diferit de0,câtulQ0se împarte din nou la bazab2,obținându-se un nou câtQ1și un nou restr1ș.a.m.d. până când câtul obținut este egal cu0.

Reprezentarea în noua bază se obține prin scrierea resturilor (reprezentate în noua bază) în ordinea inversă obținerii lor șiînmulțireacu puterea corespunzătoare a bazei care este egală cu rangul operației. De exemplu, pentru reprezentarea numerelor61(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 operației
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 operației
61 : 16 = 3 + 13(10) D(16) 0
3 : 16 = 0 + 3(10) 3(16) 1
61(10)=3D(16)= 3*161+ 13*160

Conversia unui număr fracționar[modificare|modificare sursă]

La conversia numerelor fracționare, se separă partea întreagă de partea fracționară și se vor face cele două conversii separat. Partea fracționară a unui număr se poate scrie sub forma:

Df= x-1b-1+ x-2b-2+… + x-mb-m

Prin înmulțirea cu „b”a membrilor ecuației de mai sus obținem:

b*Df= x-1+ x-2b-1+… + x-mb-m+1

Se observă că partea întreagă a expresiei din membrul drept este x-1.Prin scăderea acestei valori și o nouă înmulțire cu „b”se obține coeficientulx-2ca parte întreagă a expresiei rezultate în membrul drept:

b*(b*Df- x-1) = x-2+ x-3b-1+… + x-mb-m+2

Se continuă aceste calcule atât timp cât se înmulțesc cu „b”numere diferite de0.Este posibil ca în unele situații, operația de convertire să nu se termine niciodată și din acest motiv, un alt criteriu de oprire este precizia acceptată a reprezentării. De exemplu, pentru reprezentarea în baza10a numărului1101,001scris în baza2se parcurg următorii pași:

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 numărului în noua bază se face prin scrierea succesivă a părții întregi obținute, în ordinea succesivă a operațiilor:

1101,001(2)= 1*23+1*22+0*21+1*20+0*2-1+0*2-2+1*2-3= 13,125(10)