Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




SISTEME DE NUMERATIE

Informatica


II. SISTEME DE NUMERAŢIE

II.1. Generalitati



Din cele mai vechi timpuri, s-a pus problema gasirii unor procedee de scriere a numerelor naturale care sa permita o scriere rapida a ordinului lor de marime si elaborarea unor reguli eficiente de efectuare a operatiilor cu acestea. Adoptarea sistemului de numeratie zecimal s-a încheiat abia în secolele 16-17 si reprezinta o etapa importanta în dezvoltarea matematicii.

Un sistem de numeratie este privit ca "un ansamblu de reguli prin care valorile numerice pot fi scrise prin intermediul simbolurilor, denumite numere".

Se numeste sistem de numeratie totalitatea regulilor de reprezentare a numerelor folosind un anumit set de simboluri distincte, numit alfabet; simbolurile sunt numite cifre.

Prin definitie, totalitatea simbolurilor grafice utilizate pentru scrierea numerelor reprezinta alfabetul sistemului de numeratie.

De exemplu, sistemul de numeratie în baza 2 are alfabetul ; sistemul de numeratie în baza 16 are alfabetul .

În decursul timpului, în diferite zone ale globului au fost folosite sisteme de numeratie cu o varietate destul de mare de baze de numeratie: 3, 4, 5, 6, 10, 12, 20, 60. Dar cea mai des folosita 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 numar califica un sistem de numeratie ca nepozitional (aditiv, multiplicativ) sau pozitional.

II.2. Sisteme de numeratie nepozitionale

În aceste sisteme exista semne distincte (cifre) pentru fiecare grup de obiecte folosit în procesul numararii. Sistemul de numeratie egiptean este un astfel de sistem. Valoarea unui numar se obtine prin adunarea cifrelor dupa anumite reguli. De exemplu:

  939v216j   939v216j

Sistemele aditive

Sistemul de numeratie roman este un sistem aditiv-substractiv. Valoarea unui numar se obtine prin adunarea sau scaderea cifrelor dupa anumite reguli. De exemplu, XI = 11, MMCIII = 2103; IV = 4, IX = 9.

Sistemele multiplicative

Un sistem multiplicativ este acela în care pentru aflarea valorii unui numar este necesar sa se înmulteasca anumite perechi de simboluri într-o maniera asemanatoare sistemului aditiv (sistemul de numeratie chinez).

II.3. Sistemele de numeratie pozitionale

În sistemele de numeratie pozitionale, un simbol din alcatuirea unui numar (cifra) are valoare intrinseca dar si o valoare prin pozitia pe care o ocupa în numar. Aceasta implica existenta unui simbol cu valoare intrinseca nula (zero). În unele sisteme pozitionale în care regulile o permit, este posibil sa se renunte la acest simbol. Regulile folosite în aceste sisteme sunt mai complexe decât în cele aditive.

Cel mai raspândit sistem de numeratie este cel cu baza 10, numit sistemul zecimal. Sistemul de numeratie cu baza 2 se numeste binar. Este limbajul circuitelor electronice. Sistemul de numeratie cu baza 16 este numit hexazecimal si este folosit în programarea calculatoarelor. Are avantajul ca este relativ apropiat de sistemul zecimal si ca numerele scrise în baza 16 pot fi foarte usor convertite în baza de numeratie 2.

Iata cum se scrie un numar în sistemul zecimal pozitional:

40.323 = 4·104 + 0·103 + 3·102 + 2·101 + 3·100 (1)

Trebuie remarcat ca cifra 3 apare de doua ori în scrierea numarului. Când se afla pe ultimul loc, reprezinta trei obiecte; când se afla pe antepenultimul loc, reprezinta trei sute de obiecte.

Sistemele de numeratie pozitionale folosesc acelasi sistem de reguli de reprezentare a numerelor; ele difera doar prin alfabetul pe care îl utilizeaza si, implicit, prin baza.

Baza unui sistem de numeratie pozitional este data de numarul de elemente care formeaza alfabetul sistemului de numeratie.

Un sistem de numeratie pozitional în baza "r" are urmatoarele caracteristici:

·  939v216j   939v216j   939v216j   939v216j utilizeaza un alfabet cu r simboluri diferite între ele numite cifre, cu valori consecutive; aceeasi cifra asezata în pozitii diferite ale unei secvente, poate avea valori diferite;

·  939v216j   939v216j   939v216j   939v216j cifra 0 are cea mai mica valoare când este asezata singura;

·  939v216j   939v216j   939v216j   939v216j cifra cu valoarea cea mai mare când este asezata singura, adica valoarea cu o unitate mai mica decât baza sistemului, deci în cazul de fata r - 1;

·  939v216j   939v216j   939v216j   939v216j în functie de pozitia lor în numar, cifrele se înmultesc cu puteri crescatoare ale bazei r obtinându-se dezvoltarea numarului dupa puterile bazei:

Nr = anan-1.a2a1a0 = an .rn +an-1 .rn-1 + .+ a2 .r2 + a1 .r1 +a0 . r0 (2)

  939v216j

II.3.1. Sistemul de numeratie zecimal

Alfabetul sistemului zecimal, cel mai cunoscut si utilizat în prezent este format din zece cifre : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Aceste cifre sunt prin definitie numere consecutive, astfel 7 = 6 + 1.

Un numar în baza 10 conform relatiei (1) poate fi scris ca o suma de puteri ale lui 10:

1998 = 1 . 103 + 9 . 102 + 9 . 101 + 8 (3)

Propozitia 1: fie a si b doua numere naturale scrise în baza u: a = am am-1 ... a1 a0 si b= bnbn-1 ... b1b0. Atunci a < b daca si numai daca m < n sau m = n si at < bt, unde t este cel mai mare indice i pentru care ai č bi.

Demonstratie: daca m < n, atunci rezulta ca a < um+1 un b, deci a < b. Presupunem ca m = n si at < bt, unde t = max. Avem at  939v216j +  939v216j 1  939v216j   939v216j b, deci at· ut + ut btut. Rezulta ca:

(4)

deci a < b.

Reciproc, daca a < b, atunci din prima parte a demonstratiei deducem ca m < n sau  939v216j m= n si at < bt, unde t = max.

Exemple:

Daca a = 122311(10), b = 92197(10), deoarece m > n, a > b.

Daca a = 1011000(2), b = 1010111(2), deoarece m = n si pentru t = 3, at > bt, rezulta ca a > b.

  939v216j

Propozitia 2: numarul maxim care poate fi reprezentat în baza u cu m cifre este um- 1.

Demonstratie: fie a = cm-1cm-2 ... c0 cel mai mare numar cu m cifre, reprezentat în baza u.

Atunci:

ci = u - 1 pentru i = 0, ..., m - 1;

a + 1 = 10 ... 0(u) , unde numarul are m + 1 cifre; (5)

a + 1 = 1· um,

Conform definitiei a = um - 1.

Exemplu: numarul maxim care se poate reprezenta cu 4 cifre, în baza 10, este 9999, adica 104 - 1.

II.3.2. Sistemul de numeratie binar

Sistemul de numeratie binar, cel mai simplu posibil inventat acum 500 de ani în China si cel mai utilizat în reprezentarea codificata a numerelor în calculatoare, are urmatoarele caracteristici:

·  939v216j   939v216j   939v216j   939v216j baza de numeratie a sistemului este 2 si contine numai doua simboluri, cifrele: 0 si 1;

·  939v216j   939v216j   939v216j   939v216j cifra cu valoarea cea mai mare este 1.

Un numar scris în baza 2, poate fi dezvoltat dupa puterile bazei astfel:

N2 = anan-1.a2a1a0 = an .2n +an-1 .2n-1 + .+ a2 .22 + a1 .21 +a0 . 20 (6)

În continuare sunt prezentate câteva numere scrise în baza 2:

, 1010102 , 11100010.2 .

Ultimul numar poate fi dezvoltat dupa puterile lui 2 astfel:

111000102 = 1 . 27 + 1 . 26 + 1 . 25 + 1 . 21 (7)

II.3.3. Sistemul de numeratie octal

Utilizat în reprezentarea codificata a numerelor în calculatoare este si sistemul de numeratie octal, întrucât îl include pe cel binar.

Are urmatoarele caracteristici:

·  939v216j   939v216j   939v216j   939v216j baza de numeratie a sistemului este 8 si contine opt cifre: de la 0 la 7;

·  939v216j   939v216j   939v216j   939v216j cifra cu valoarea ce mai mare este 7.

Un numar scris în baza 8, poate fi dezvoltat dupa puterile bazei astfel:

N8 = anan-1.a2a1a0 = an .8n +an-1 .8n-1 + .+ a2 .82 + a1 .81 +a0 . 80 (8)

  939v216j

În continuare sunt prezentate câteva numere scrise în baza 8:

10678, 7050438 , 657030218

Ultimul numar poate fi dezvoltat dupa puterile lui 8 astfel:

657030218 = 6 . 87 + 5 . 86 + 7 . 85 + 3 . 83 + 2 . 81 + 1 (9)

  939v216j

II.3.4. Sistemul de numeratie hexazecimal

  939v216j

Utilizat cel mai mult în ultima vreme în reprezentarea codificata a numerelor în calculatoare este sistemul de numeratie hexazecimal, întrucât le include pe cele binar si octal.

Are urmatoarele caracteristici:

·  939v216j   939v216j   939v216j   939v216j baza de numeratie a sistemului este 16 si contine 16 cifre: de la 0 la 9 si în plus literele consecutive A, B , C, D, E si F;

·  939v216j   939v216j   939v216j   939v216j simbolul cu valoarea cea mai mare este F si are valoarea 15.

Un numar scris în baza 16, poate fi dezvoltat dupa puterile bazei astfel:

N16 = anan-1.a2a1a0 = an .16n +an-1 .16n-1 + .+ a2 .162 + a1 .161 +a0 . 160 (10)

În continuare sunt prezentate câteva numere scrise în baza 16:

1A6F16, B0509316 , 6CD0308916

Ultimul numar poate fi dezvoltat dupa puterile lui 16 astfel:

6CD0308916 = 6 . 167 + C . 166 + D . 165 + 3 . 163 + 8 . 161 + 9 (11)

Exista algoritmi de transformare a numerelor dintr-un sistem de numeratie în altul.

În tabelul 2.1 sunt prezentate conversiile câtorva numere în sistemele zecimal, binar, octal si hexazecimal.

  939v216j Tabelul 2.1. Reprezentarea numerelor în diferite sisteme de numeratie

Sistemul zecimal

Sistemul binar

Sistemul octal

Sistemul hexazecimal

A

B

C

D

E

F

1E

2B

II.4. Conversia dintr-o baza de numeratie oarecare în

baza 10

Se considera sistemul de numeratie cu baza u. Un numar rational pozitiv a reprezentat în baza u prin sirul a(u)  939v216j =  939v216j an-1un-2 ... u0, u-1 ... u-m are, prin definitie, valoarea în baza 10:

= c-m·u-m + ... + c-1·u-1 + c0·u0 + c1·u1 + ...  939v216j + an-1·un-1 =

= an-1·un-1 + ...  939v216j + c1·u1 + c0·u0 + c-1·u-1 + ... + c-m·u-m

Exemple

Poate fi scris si sub forma:

11021434(5) = 5·(5·(5·(5·(5·(5·(5·1 +2) + 0) + 2) + 1) + 4) + 3) + 4 =

= 5·(5·(5·(5·(5·(5·7 + 0) + 2) + 1) + 4) + 3) + 4 =

= 5·(5·(5·(5·(5·35 + 2) + 1) + 4) + 3) + 4 =

= 5·(5·(5·(5·177 + 1) + 4) + 3) + 4 =

= 5·(5·(5·886 + 4) + 3) + 4 =

= 5·(5·4434 + 3) + 4 =

= 5·22173 + 4 =

= 110869

De aici se poate desprinde usor un algoritm de conversie:

cifra

  939v216j

numar

Se înmulteste baza cu numarul din dreapta, se aduna rezultatul cu numarul din dreapta-sus si se scrie rezultatul pe rândul de jos:

(

40A(16) = 4·162 0·161 + A·160 + = 1024 + 10 = 1034

II.5. Conversia din baza 10 într-o baza de numeratie

oarecare B

Pentru a trece un numar din baza 10 într-o alta baza de numeratie uÎ, u > 1 se aplica urmatorul algoritm:

Pasul 1. Se converteste partea întreaga a numarului, conform procedurii de la pasul 2 si partea fractionara a numarului conform procedurii de la pasul 3.

Pasul 2. Se fac împartiri întregi, succesive la baza u, pornind de la numarul întreg care se converteste:

·  939v216j   939v216j   939v216j   939v216j în urma fiecarei împartiri se obtine un cât si un rest;

·  939v216j   939v216j   939v216j   939v216j noul cât este deîmpartitul urmatoarei împartiri întregi;

·  939v216j   939v216j   939v216j   939v216j algoritmul se încheie când se obtine câtul 0;

·  939v216j   939v216j   939v216j   939v216j resturile obtinute, începând cu ultimul si pâna la primul, reprezinta cifrele numarului, de la cea mai semnificativa la cea mai putin semnificativa.

Pasul 3. Se fac înmultiri succesive, cu baza u, începând cu partea fractionara a numarului care se converteste:

·  939v216j   939v216j   939v216j   939v216j partea fractionara a fiecarui produs constituie deînmultitul pentru produsul urmator;

·  939v216j   939v216j   939v216j   939v216j partea fractionara a numarului convertit în baza u este reprezentata de succesiunea obtinuta din partile întregi ale tuturor produselor obtinute, începând cu primul produs, care furnizeaza cifra cea mai semnificativa a rezultatului;

·  939v216j   939v216j   939v216j   939v216j algoritmul se încheie cu un rezultat exact atunci când:

1. se obtine ca produs partial un întreg;

2. se obtine aproximarea dorita a numarului fractionar dupa un anumit numar de pasi.

Demonstratie: Pasul 2 - fie a numarul întreg în baza 10 care se converteste în baza u, conform algoritmului de la pasul 2 si fie reprezentarea în baza u obtinuta prin conversie, de forma cn-1cn-2 ... c0. Algoritmul este corect daca se termina într-un numar finit de pasi si daca:

Daca se noteaza cu a1 câtul obtinut dupa prima împartire întreaga si cu c0 restul acestei împartiri; au loc relatiile:

c = a0 - a1·u, a1 < a0 (14)

Analog, pentru orice i = 1, ..., n au loc relatiile:

ci-1 = ai--1 - ai·u, ai < ai-1 (15)

Din sirul de inegalitati ai < ai-1 (i = 1, ..., n) rezulta finitudinea algoritmului.

Fie ultimul rest, cn-1 = an-1 - an·u, unde an = 0. Rezulta:

a = c0 + a1·u = c0 + c1·u + a2·u2 = ... = c0·u0 + c1·u1 + c2·u2 + ... + an-1·un-1 =  939v216j c0·u0 + c1·u1 + ...  939v216j + an-1·un-1 + an·un  (16)

În pasul 3: fie a numarul subunitar în baza 10 care se converteste în baza u conform algoritmului de la pasul 3 si fie reprezentarea în baza u, obtinuta prin conversie, de forma 0,c-1c-2 ... c-m. Algoritmul este corect daca:

Se noteaza cu a1 partea fractionara a primului produs si cu c-1 partea întreaga a acestuia. Au loc relatiile:

a ·u = c-1 +  939v216j a1a1 = c-1·u-1 +  939v216j a1·u-1  (18)

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

ai-1·u = c-i +  939v216j aiai-1 = c-i·u-i +  939v216j ai·u-i  (19)

Din sirul de egalitati ai-1 = c-i·u-i +  939v216j ai·u-i (i =1, ..., m), rezulta:

a = c-1·u-1 + c-2·u-2 + a2·u-2 = c-1·u-1 + c-2·u-2 + ... + am-1·u-(m-1) = ... = c-1·u-1 + c-2·u-2 + ... + cm-1·u-(m-1) + c-m·u-m 

  939v216j

Cazul 1: daca exista un m astfel încât am = 0, atunci algoritmul este finit si rezultatul conversiei este exact.

Cazul 2: este posibil ca numarului rational a0, reprezentat în baza 10 sa îi corespunda un numar rational 0,c-1c-2 ... c-m reprezentat in baza u printr-o fractie periodica; în acest caz, algoritmul se încheie atunci când se determina perioada.

Exemple

Pasul 2. Conversia numarului 95.244 în baza 5 se obtine astfel:

numar

baza

cât

rest

Rezultatul obtinut este 95.244 = 11021434(5).

Pasul 3. Conversia numarului 0,7109375 în baza 2 se obtine astfel:

numar

baza

partea
fractionala

partea
întreaga

Rezultatul conversiei este 0,1011011(2).


Document Info


Accesari: 20956
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )