Sunteți pe pagina 1din 9

Bazele Informaticii

II. SISTEME DE NUMERAIE


II.1. Generaliti
Din cele mai vechi timpuri, s-a pus problema gsirii unor procedee de scriere a
numerelor naturale care s permit o scriere rapid a ordinului lor de mrime i
elaborarea unor reguli eficiente de efectuare a operaiilor cu acestea. Adoptarea
sistemului de numeraie zecimal s-a ncheiat abia n secolele 16-17 i reprezint o
etap important n dezvoltarea matematicii.
Un sistem de numeraie este privit ca "un ansamblu de reguli prin care
valorile numerice pot fi scrise prin intermediul simbolurilor, denumite numere".
Se numete sistem de numeraie totalitatea regulilor de reprezentare a
numerelor folosind un anumit set de simboluri distincte, numit alfabet; simbolurile
sunt numite cifre.
Prin definiie, totalitatea simbolurilor grafice utilizate pentru scrierea
numerelor reprezint alfabetul sistemului de numeraie.
De exemplu, sistemul de numeraie n baza 2 are alfabetul {0,1}; sistemul de
numeraie n baza 16 are alfabetul {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.
n decursul timpului, n diferite zone ale globului au fost folosite sisteme de
numeraie cu o varietate destul de mare de baze de numeraie: 3, 4, 5, 6, 10, 12, 20,
60. Dar cea mai des folosit a fost baza 10, probabil ca urmare a socotitului pe
degete.
Semnele folosite pentru notarea cifrelor sunt destul de variate. Modul lor de
grupare pentru reprezentarea unui numr calific un sistem de numeraie ca
nepoziional (aditiv, multiplicativ) sau poziional.

II.2. Sisteme de numeraie nepoziionale


n aceste sisteme exist semne distincte (cifre) pentru fiecare grup de obiecte
folosit n procesul numrrii. Sistemul de numeraie egiptean este un astfel de sistem.
Valoarea unui numr se obine prin adunarea cifrelor dup anumite reguli. De
exemplu:
21.237 =

= 7 + 30 + 200 + 1.000 + 20.000

Sistemele aditive
Sistemul de numeraie roman este un sistem aditiv-substractiv. Valoarea unui
numr se obine prin adunarea sau scderea cifrelor dup anumite reguli. De
exemplu, XI = 11, MMCIII = 2103; IV = 4, IX = 9.

Sisteme de numeraie

Sistemele multiplicative
Un sistem multiplicativ este acela n care pentru aflarea valorii unui numr este
necesar s se nmuleasc anumite perechi de simboluri ntr-o manier asemntoare
sistemului aditiv (sistemul de numeraie chinez).

II.3. Sistemele de numeraie poziionale


n sistemele de numeraie poziionale, un simbol din alctuirea unui numr
(cifr) are valoare intrinsec dar i o valoare prin poziia pe care o ocup n numr.
Aceasta implic existena unui simbol cu valoare intrinsec nul (zero). n unele
sisteme poziionale n care regulile o permit, este posibil s se renune la acest
simbol. Regulile folosite n aceste sisteme sunt mai complexe dect n cele aditive.
Cel mai rspndit sistem de numeraie este cel cu baza 10, numit sistemul
zecimal. Sistemul de numeraie cu baza 2 se numete binar. Este limbajul circuitelor
electronice. Sistemul de numeraie cu baza 16 este numit hexazecimal i este folosit
n programarea calculatoarelor. Are avantajul c este relativ apropiat de sistemul
zecimal i c numerele scrise n baza 16 pot fi foarte uor convertite n baza de
numeraie 2.
Iat cum se scrie un numr n sistemul zecimal poziional:
40.323 = 4104 + 0103 + 3102 + 2101 + 3100
(1)
Trebuie remarcat c cifra 3 apare de dou ori n scrierea numrului. Cnd se
afl pe ultimul loc, reprezint trei obiecte; cnd se afl pe antepenultimul loc,
reprezint trei sute de obiecte.
Sistemele de numeraie poziionale folosesc acelai sistem de reguli de
reprezentare a numerelor; ele difer doar prin alfabetul pe care l utilizeaz i,
implicit, prin baz.
Baza unui sistem de numeraie poziional este dat de numrul de elemente
care formeaz alfabetul sistemului de numeraie.
Un sistem de numeraie poziional n baza r are urmtoarele caracteristici:
utilizeaz un alfabet cu r simboluri diferite ntre ele numite cifre, cu valori
consecutive; aceeai cifr aezat n poziii diferite ale unei secvene, poate
avea valori diferite;
cifra 0 are cea mai mic valoare cnd este aezat singur;
cifra cu valoarea cea mai mare cnd este aezat singur, adic valoarea cu o
unitate mai mic dect baza sistemului, deci n cazul de fat r - 1;
n funcie de poziia lor n numr, cifrele se nmulesc cu puteri cresctoare ale
bazei r obinndu-se dezvoltarea numrului dup puterile bazei:
Nr = anan-1a2a1a0 = an .rn +an-1 .rn-1 + + a2 .r2 + a1 .r1 +a0 . r0
II.3.1. Sistemul de numeraie zecimal

(2)

Bazele Informaticii

Alfabetul sistemului zecimal, cel mai cunoscut i utilizat n prezent este format
din zece cifre : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Aceste cifre sunt prin definiie numere consecutive, astfel 7 = 6 + 1.
Un numr n baza 10 conform relaiei (1) poate fi scris ca o sum de puteri ale
lui 10:
1998 = 1 . 103 + 9 . 102 + 9 . 101 + 8

(3)

Propoziia 1: fie a i b dou numere naturale scrise n baza u: a = am am1 ... a1


a0 i b= bnbn1 ... b1b0. Atunci a < b dac i numai dac m < n sau m = n i at < bt,
unde t este cel mai mare indice i pentru care ai bi.
Demonstraie: dac m < n, atunci rezult c a < um+1 un b, deci a < b.
Presupunem c m = n i at < bt, unde t = max{ i | ai bi }. Avem at + 1 b, deci at ut
+ ut btut. Rezult c:
(4)
deci a < b.
Reciproc, dac a < b, atunci din prima parte a demonstraiei deducem c m < n
sau m= n i at < bt, unde t = max{ i | ai bi }.
Exemple:
Dac a = 122311(10), b = 92197(10), deoarece m > n, a > b.
Dac a = 1011000(2), b = 1010111(2), deoarece m = n i pentru t = 3, at > bt,
rezult c a > b.
Propoziia 2: numrul maxim care poate fi reprezentat n baza u cu m cifre este
u 1.
Demonstraie: fie a = cm1cm2 ... c0 cel mai mare numr cu m cifre, reprezentat
n baza u.
Atunci:
ci = u 1 pentru i = 0, ..., m 1;
a + 1 = 10 ... 0(u) , unde numrul are m + 1 cifre;
(5)
m
a + 1 = 1 u ,
Conform definiiei a = um 1.
m

Exemplu: numrul maxim care se poate reprezenta cu 4 cifre, n baza 10, este
9999, adic 104 1.
II.3.2. Sistemul de numeraie binar
Sistemul de numeraie binar, cel mai simplu posibil inventat acum 500 de ani
n China i cel mai utilizat n reprezentarea codificat a numerelor n calculatoare, are
urmtoarele caracteristici:

Sisteme de numeraie

baza de numeraie a sistemului este 2 i conine numai dou simboluri, cifrele:


0 i 1;
cifra cu valoarea cea mai mare este 1.
Un numr scris n baza 2, poate fi dezvoltat dup puterile bazei astfel:
N2 = anan-1a2a1a0 = an .2n +an-1 .2n-1 + + a2 .22 + a1 .21 +a0 . 20

(6)

n continuare sunt prezentate cteva numere scrise n baza 2:


10012, 1010102 , 11100010.2 .
Ultimul numr poate fi dezvoltat dup puterile lui 2 astfel:
111000102 = 1 . 27 + 1 . 26 + 1 . 25 + 1 . 21

(7)

II.3.3. Sistemul de numeraie octal


Utilizat n reprezentarea codificat a numerelor n calculatoare este i sistemul
de numeraie octal, ntruct l include pe cel binar.
Are urmtoarele caracteristici:
baza de numeraie a sistemului este 8 i conine opt cifre: de la 0 la 7;
cifra cu valoarea ce mai mare este 7.
Un numr scris n baza 8, poate fi dezvoltat dup puterile bazei astfel:
N8 = anan-1a2a1a0 = an .8n +an-1 .8n-1 + + a2 .82 + a1 .81 +a0 . 80

(8)

n continuare sunt prezentate cteva numere scrise n baza 8:


10678, 7050438 , 657030218 .
Ultimul numr poate fi dezvoltat dup puterile lui 8 astfel:
657030218

= 6 . 8 7 + 5 . 86 + 7 . 85 + 3 . 83 + 2 . 8 1 + 1

(9)

II.3.4. Sistemul de numeraie hexazecimal


Utilizat cel mai mult n ultima vreme n reprezentarea codificat a numerelor n
calculatoare este sistemul de numeraie hexazecimal, ntruct le include pe cele binar
i octal.
Are urmtoarele caracteristici:
baza de numeraie a sistemului este 16 i conine 16 cifre: de la 0 la 9 i n
plus literele consecutive A, B , C, D, E i F;

Bazele Informaticii

simbolul cu valoarea cea mai mare este F i are valoarea 15.


Un numr scris n baza 16, poate fi dezvoltat dup puterile bazei astfel:
N16 = anan-1a2a1a0 = an .16n +an-1 .16n-1 + + a2 .162 + a1 .161 +a0 . 160

(10)

n continuare sunt prezentate cteva numere scrise n baza 16:


1A6F16, B0509316 , 6CD0308916 .
Ultimul numr poate fi dezvoltat dup puterile lui 16 astfel:
6CD0308916

= 6 . 167 + C . 166 + D . 165 + 3 . 163 + 8 . 161 + 9

(11)

Exist algoritmi de transformare a numerelor dintr-un sistem de numeraie n


altul.
n tabelul 2.1 sunt prezentate conversiile ctorva numere n sistemele zecimal,
binar, octal i hexazecimal.
Tabelul 2.1. Reprezentarea numerelor n diferite sisteme de numeraie
Sistemul zecimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
20
30
40
50

Sistemul binar
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10100
11110
101000
1010010

Sistemul octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
24
36
50
62

Sistemul hexazecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
14
1E
2B
32

Sisteme de numeraie

II.4. Conversia dintr-o baz de numeraie oarecare n


baza 10
Se consider sistemul de numeraie cu baza u. Un numr raional pozitiv a
reprezentat n baza u prin irul a(u) = an1un2 ... u0, u1 ... um are, prin definiie,
valoarea n baza 10:
= cmum + ... + c1u1 + c0u0 + c1u1 + ... + an1un1 =

= an1un1 + ... + c1u1 + c0u0 + c1u1 + ... + cmum


Exemple:
11021434(5) = 157 + 256 + 055 + 254 + 153 + 452 + 351 + 450 =
= 78125 + 31250 +1250 + 125 +100 + 15 + 4 = 110869
Poate fi scris i sub forma:
11021434(5) = 5(5(5(5(5(5(51 +2) + 0) + 2) + 1) + 4) + 3) + 4 =
= 5(5(5(5(5(57 + 0) + 2) + 1) + 4) + 3) + 4 =
= 5(5(5(5(535 + 2) + 1) + 4) + 3) + 4 =
= 5(5(5(5177 + 1) + 4) + 3) + 4 =
= 5(5(5886 + 4) + 3) + 4 =
= 5(54434 + 3) + 4 =
= 522173 + 4 =
= 110869
De aici se poate desprinde uor un algoritm de conversie:
cifr
numr

2
1

35

177

886 4434 22173 110869

Se nmulete baza cu numrul din dreapta, se adun rezultatul cu numrul din


dreapta-sus i se scrie rezultatul pe rndul de jos:

(12)

40A(16) = 4162 0161 + A160 + = 1024 + 10 = 1034


10,011(2) = 121 + 020 + 021 + 122 + 123 = 2 + 0,25 + 0,125 = 2,375.

Bazele Informaticii

II.5. Conversia din baza 10 ntr-o baz de numeraie


oarecare B
Pentru a trece un numr din baza 10 ntr-o alt baza de numeraie u , u > 1
se aplic urmtorul algoritm:
Pasul 1. Se convertete partea ntreag a numrului, conform procedurii de la
pasul 2 i partea fracionar a numrului conform procedurii de la pasul 3.
Pasul 2. Se fac mpriri ntregi, succesive la baza u, pornind de la numrul
ntreg care se convertete:
n urma fiecrei mpriri se obine un ct i un rest;
noul ct este dempritul urmtoarei mpriri ntregi;
algoritmul se ncheie cnd se obine ctul 0;
resturile obinute, ncepnd cu ultimul i pn la primul, reprezint cifrele
numrului, de la cea mai semnificativ la cea mai puin semnificativ.
Pasul 3. Se fac nmuliri succesive, cu baza u, ncepnd cu partea fracionar a
numrului care se convertete:
partea fracionar a fiecrui produs constituie denmulitul pentru produsul
urmtor;
partea fracionar a numrului convertit n baza u este reprezentat de
succesiunea obinut din prile ntregi ale tuturor produselor obinute,
ncepnd cu primul produs, care furnizeaz cifra cea mai semnificativ a
rezultatului;
algoritmul se ncheie cu un rezultat exact atunci cnd:
1. se obine ca produs parial un ntreg;
2. se obine aproximarea dorit a numrului fracionar dup un anumit numr
de pai.
Demonstraie: Pasul 2 - fie a numrul ntreg n baza 10 care se convertete n
baza u, conform algoritmului de la pasul 2 i fie reprezentarea n baza u obinut prin
conversie, de forma cn1cn2 ... c0. Algoritmul este corect dac se termin ntr-un
numr finit de pai i dac:
(13)

Dac se noteaz cu a1 ctul obinut dup prima mprire ntreag i cu c0 restul


acestei mpriri; au loc relaiile:
c0 = a0 a1u, a1 < a0
(14)
Analog, pentru orice i = 1, ..., n au loc relaiile:
ci1 = ai-1 aiu, ai < ai1

(15)

Din irul de inegaliti ai < ai1 (i = 1, ..., n) rezult finitudinea algoritmului.


Fie ultimul rest, cn1 = an1 anu, unde an = 0. Rezult:

Sisteme de numeraie

a0 = c0 + a1u = c0 + c1u + a2u2 = ... = c0u0 + c1u1 + c2u2 + ... + an1un1 = c0u0
+ c1u1 + ... + an1un1 + anun
(16)
n pasul 3: fie a numrul subunitar n baza 10 care se convertete n baza u
conform algoritmului de la pasul 3 i fie reprezentarea n baza u, obinut prin
conversie, de forma 0,c1c2 ... cm. Algoritmul este corect dac:
(17)

Se noteaz cu a1 partea fracionar a primului produs i cu c1 partea ntreag a


acestuia. Au loc relaiile:
a1u = c1 + a1

a1 = c1u1 + a1u1

(18)

Analog, pentru orice i =1, ..., m au loc relaiile:


ai1u = ci + ai

ai1 = ciui + aiui

(19)

Din irul de egaliti ai1 = ciui + aiui (i =1, ..., m), rezult:
a0 = c1u1 + c2u2 + a2u2 = c1u1 + c2u2 + ... + am1u(m1) = ... = c1u1 + c
2
(m1)
+ cmum
(20)
2u + ... + cm1u
Cazul 1: dac exist un m astfel nct am = 0, atunci algoritmul este finit i rezultatul
conversiei este exact.
Cazul 2: este posibil ca numrului raional a0, reprezentat n baza 10 s i corespund
un numr raional 0,c1c2 ... cm reprezentat in baza u printr-o fracie periodic; n
acest caz, algoritmul se ncheie atunci cnd se determin perioada.
Exemple:
Pasul 2. Conversia numrului 95.244 n baza 5 se obine astfel:
numr baza ct rest
95244 :5 19048 4
19048 :5
3809 3
3809 :5
761 4
761 :5
152 1
152 :5
30 2
30 :5
6 0
6 :5
1 1
1 :5
0 1

Bazele Informaticii

Rezultatul obinut este 95.244 = 11021434(5).


Pasul 3. Conversia numrului 0,7109375 n baza 2 se obine astfel:
numr

baza

0,7109375
0,421875
0,84375
0,6875
0,375
0,75
0,5

2
2
2
2
2
2
2

partea
partea
fracional ntreag
1,421875
1
0,84375
0
1,6875
1
1,375
1
0,75
0
1,5
1
1,0
1

Rezultatul conversiei este 0,1011011(2).