CATEGORII DOCUMENTE |
Astronomie | Biofizica | Biologie | Botanica | Carti | Chimie | Copii |
Educatie civica | Fabule ghicitori | Fizica | Gramatica | Joc | Literatura romana | Logica |
Matematica | Poezii | Psihologie psihiatrie | Sociologie |
Reprezentarea numerelor in sistemele numerice
Sisteme de numeratie pozitionale
Pentru a putea efectua calcule cu numere este necesara o anumita reprezentare a lor. In decursul timpului oamenii au folosit in acest scop diferite sisteme de numeratie dintre care s-a impus si a devenit familiar tuturor sistemul de numeratie zecimal.
Sistemul de numeratie zecimal foloseste pentru reprezentarea oricarui numar simbolurile 1, 1, 2, 3, 4, 5, 6. 7, 8 si 9. Acest numar de simboluri s-a ales numai pentru simplul motiv ca omul are 10 degete la cele doua maini. Sistemul fiind avantajos pentru efectuarea calculelor, mult timp nici nu s-a pus problema luarii in considerare a altui sistem. Odata insa cu aparitia calculatoarelor electronice numerice se constata insa ca acest numar mare de simboluri ale sistemului zecimal conduce la greutati in reprezentarea numerelor in calculatoar si s-a cautat folosirea unui alt sistem de numeratie.
Vom preciza mai intai notiunile care vor fi folosite in cele ce urmeaza.
Definitie
Se numeste sistem de numeratie, un sistem de reprezentare a oricarui numar cu ajutorul unei multimi finite de simboluri
In sistemul zecimal, de exemplu se folosesc in acest scop cele 10 simboluri amintite mai sus.
Simbolurile folosite pentru reprezentarea numerelor se numesc cifre ale sistemului de numeratie. Numarul de cifre diferite folosite intr-un anumit sistem de numeratie este egal cu cu baza sistemului de numeratie, notata in continuare cu b. Astfel baza sistemului zecimal este 10.
Posibilitatea reprezentarii oricarui numar folosind numai cele 10 cifre ale sistemului zecimal se datoreste faptului ca una si aceiasi cifra are diferite ponderi in functie de pozitia ei in reprezentarea numarului. De exemplu in numarul zecimal 14649, cifra 4 cea mai din stanga are ponderea 103, reprezentand patru mii, iar aceeasi cifra din dreapta din reprezentarea numarului are ponderea 101, reprezentand patru zeci.
In general numarul a, reprezentat simbolic sub forma :
amam-1am-2.a1a0, (1.1)
unde 0 ≤ ai < 10, pentru i=0, . ,m, sunt cifrele numarului, se interpreteaza dupa cum se arata in relatia (1.2) :
a = am10m + am-110m-1 + . + a1101 + a010
Exemplu
Numarul 754 se reprezinta astfel :
7 x 102 + 5 x 101 + 4 x 100 = 700 + 50 + 4 = 754
baza de numeratie (10) pozitia cifrei in cadrul numarului (prima pozitie)
Sistemele de numeratie la care ponderea unei anumite cifre depinde de pozitia pe care o ocupa cifra respectiva in reprezentarea numarului se numesc sisteme de numeratie pozitionale.
Sistemele de numeratie pozitionale mai poarta numele si de sisteme de numeratie ponderate, intrucat valoarea unei cifre depinde de pozitia ei in reprezentarea numarului dat.
La baza reprezentarii numerelor intr-un anumit sistem de numeratie pozitional sta teorema fundamentala a sistemelor de numeratie a carei formulare este :
Teorema 1.1. Orice numar intreg a > 1 poate fi reprezentat in mod unic sub forma
a = a0 + a1b1 + a2b2 + . + ambm
unde numarul intreg b > 1, iar numerele a0, a1, . , am sunt intregi si satisfac inegalitatile:
0 ≤ ai < b, pentru i = 0, . , m-1 si
0 < am < b
Demonstratia acestei teoreme se regaseste in anexa A1.
In reprezentarea numarului data de teorema 1.1 b este baza sistemului de numeratie, iar ai (unde i = 0, 1, . , m) sunt cifrele acestuia. Deoarece 0 ≤ ai <b, in sistemul de numeratie cu baza b exista b cifre diferite, notate de obicei cu 0,1, . , b-1, deci cu cifre zecimale atata timp cat b ≤ 10 sau cu cifre si numere zecimale cand b > 10. Pentru a nu interpreta gresit numerele notate in diferite sisteme de numeratie, folosite simultan in cursul calculului, numerele scrise in sisteme de numeratie cu baza diferita de 10 se prevad cu un indice. Astfel numarul a reprezentat in baza b (diferita de 10), se noteaza simbolic sub forma :
(amam-1 . a2a1a0)b (1.3)
Daca b = 2, 3, 8, 16 sistemul de numeratie este denumit respectiv binar, ternar, octal, hexazecimal.
Exemple
In ultimul exemplu, (14) si (11) sunt cifre ale sistemului de numeratie hexazecimal notate cu numere zecimale, motiv pentru care s-au scris intre paranteze. Aceste cifre se noteaza insa in mod obisnuit cu simbolurile proprii sistemului hexazecimal :0, 1, 2, 3, 4, 5, 6, 7, 8. 9, A, B, C, D, E, F (vezi &?), astfel ca numarul hexazecimal din ultimul exemplu se va scrie in mod normal E95B516.
Teorema 1.1 se refera la reprezentarea numerelor intregi in diverse sisteme de numeratie pozitionale. In calcule se lucreaza insa cu numere reale. Multimea numerelor reale este formata din multimea numerelor rationale si multimea numerelor irationale. Orice numar irational poate fi dat insa cu ajutorul a doua siruri de numere rationale, care reprezinta valorile aproximative ale numarului irational prin lipsa respectiv prin adaos cu o eroare ce poate fi facuta oricat de mica. La randul sau un numar rational poate fi aproximat, in sistemul de numeratie zecimal de exemplu, printr-o fractie zecimala prin lipsa sau printr-o fractie zecimala prin adaos. In cazul general un numar rational se compune dintr-o parte intreaga si o parte fractionara.
Partea intreaga a unui numar rational x, notata [x], se defineste ca fiind cel mai mare intreg mai mic decat x, iar partea fractionara a lui x, notata , se defineste ca fiind egala cu diferenta dintre numarul x si partea sa intreaga :
= x - [x]
Pentru a arata ca un numar x se poate aproxima printr-o fractie zecimala, se considera ca acest numar este dat prin perechea de numere intregi a si d, adica x= . Fractia zecimala, cu n zecimale, cea mai apropiata de fractia ordinara data, dar mai mica decat ea, notata , trebuie sa satisfaca inegalitatea :
<< (1.5)
Daca aceasta inegalitate nu ar fi satisfacuta, ar fi fractia zecimala cea mai apropiata, dar mai mica decat .
Fractia care indeplineste conditia - < se numeste valoarea aproximativa a fractiei cu n zecimale exacte. este valoarea aproximativa a fractiei cu o aproximare de prin adaos. Din inegalitatea (1.5) rezulta inegalitatea :
C < < c+1 (1.6)
Din inegalitatea (1.6) rezulta ca c este cel mai mare intreg care nu depaseste valoarea fractiei sau :
C = (1.7)
Numarul intreg c se poate reprezenta in sistemul zecimal conform teoremei 1.1. Fractia zecimala care aproximeaza numarul x prin lipsa se va reprezenta sub forma :
= = cm10m-n + . + c1101-n + c010-n (1.8)
Atunci cand in relatia (1.8) m ≥ n, fractia este supraunitara, numarul x va avea o parte intreaga si una fractionara, iar cand m<n, fractia este subunitara iar x va avea numai parte fractionara.
Numarul rational x= poate fi aproximat in acelasi mod printr-o fractie octala, binara, etc. Tinand cont de cele de mai sus se poate afirma ca in cazul general un numar real, x se reprezinta in sistemul de numeratie cu baza b sub forma :
x = xmbm + xm-1bm-1 + . + x0b0 + x-1b-1 + . + x-nb-n (1.9)
unde c ≤ xi < b pentru i = -n, -n+1, . , 0, . , m-1 si c < xm < b.
Simbolic acest numar se noteaza :
(xmxm-1 . x0,x-1x-2 . x-n)b (1.10)
In expresiile (1.9) si (1.10) s-au notat prin xi (i = m, m-1, . , 0, -1, -2, . , -n) cifrele numarului in sistemul de numeratie cu baza b. Pentru separarea partii intregi de partea fractionara a numarului se foloseste simbolul ',', denumit virgula, care se plaseaza in dreapta unitatilor de ordinul b0, denumite si unitati simple.
Exemplu
325,218
Ordinul sau r
In urma celor prezentate pana acum se pot face cateva observatii :
a. Inmultirea unui numar, scris intr-o baza oarecare, cu o putere pozitiva a bazei produce o deplasare a numarului spre stanga fata de virgula cu un numar de pozitii egal cu puterea bazei. Se considera numarul real x notat simbolic sub forma:
(xmxm-1 . x1,x0,x-1x-2 . x-n)b (1.11)
Acest numar este reprezentat in sistemul de numeratie cu baza b conform relatiei (1.9). Inmultind numarul cu b2, din relatia (1.9) se obtine relatia :
b2x = xmbm+2 + . + x0b2 + x-1b1 + x-2b0 + . + x-nb-n+2 (1.12)
Simbolic numarul b2x se va scrie :
(xmxm-1 . x0x-1x-2,x-3 . x-n)b (1.13)
Comparand relatiile (1.9) si (1.12) se constata ca ponderea cifrelor numarului x a crescut prin aceasta inmultire cu b2.
b. Inmultirea unui numar, scris intr-o baza oarecare, cu o putere negativa a bazei produce o deplasare a numarului spre dreapta fata de virgula cu un numar de pozitii egal cu puterea bazei.
Inmultind acelasi numar x cu b-2, se obtine din relatia (1.9) urmatoarea relatie :
b-2x = xmbm-2 + . + x2b0 + x1b-1 + . + x-nb-n-2 (1.14)
Comparand relatiile (1.9) si (1.14) se constata ca ponderea cifrelor numarului x a scazut prin acesta inmultire cu b-2. Numarul b-2x se noteaza :
(xmxm-1 . x2,x1 . x-n)b (1.15)
Analiza comparativa a sistemelor de numeratie pozitionale din punctul de vedere al folosirii lor in sistemele de calcul.
In tehnica de calcul fiecare din cele b simboluri ale unui sistem de numeratie se reprezinta printr-o anumita stare stabila a unui element fizic. Un numar intreg cu n pozitii se reprezinta intr-un calculator fie prin starile existente simultan la m elemente fizice (modul de reprezentare paralela a numarului), fie sub forma modificarii succesive de m ori a starii aceluiasi element fizic (modul de reprezentare serie a numarului).
Pentru a asigura functionarea corecta a calculatorului, cele b stari ale sistemului fizic care reprezinta cifrele sistemului de numeratie cu baza b trebuie sa fie stabile si distincte. Din acest considerent folosirea sistemului zecimal in calculator nu este prea avantajoasa, deoarece realizarea unor elemente fizice cu 10 stari stabile si distincte reprezinta o problema tehnica complicata. In acelasi timp insa exista suficient de multe elemente fizice cu doua stari stabile si disticte cum ar fi tranzistorul (conductor si blocat) si miezul de ferita (magnetizat intr-un sens sau in celalalt sens). La aceste elemente deosebirea intre cele doua stari este calitativa si nu cantitativa, motiv pentru care memorarea numerelor in calculatoare se poate realiza mult mai sigur si mult mai economic decat cu elementele avand un numar de stari stabile si distincte mai mare decat doi.
Acesta este unul dintre motivele pentru care sistemul de numeratie binar se foloseste cu precadere in sistemele de calcul. Al doilea avantaj important al sistemului de numeratie binar il constituie simplitatea efectuarii operatiilor aritmetice fundamentale.
Pentru a ilustra aceasta sa examinam mai detaliat sistemul de numeratie binar.
In acest sistem exista numai doua cifre notate de
obicei cu simbolurile 0 si 1 iar pozitiile numarului au r
Exemplu
Numarul binar 11011,1012 se interpreteaza ca:
1 x 24 + 1 x 23 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-3 = 16 + 8 + 2 +1 +
Tabelele de adunare si inmultire (v. tabelul 1.1 si 1.2) sunt deosebit de simple in sistemul binar :
Tabelul 1.1
x | ||
Tabelul 1.2
Tabelul adunarii respectiv inmultirii stabileste o corespondenta intre cele 2 valori ale operanzilor si valoarea sumei respectiv produsului. Deoarece sunt numai 2 cifre, exista 22=4 aranjamente cu repetitie ale acestora, luate cate doua, astfel ca tabelele au deci 4 casute, spre deosebire de tabelele adunarii si inmultirii din sistemele de numeratie octal si zecimal care au cate 82=64 casute, respectiv 102=100 casute. Din acest punct de vedere avantajele sistemului binar sunt evidente.
In afara de avantajele aratate mai sus sistemul de numeratie binar este de preferat altor sisteme si din cauza economicitatii sale. Economicitatea unui sistem de numeratie se apreciaza prin numarul de circuite necesar pentru reprezentarea unui numar dat, M, de numere naturale diferite.
Se spune ca pentru a reprezenta cele M numere naturale intr-un sistem de numeratie cu baza b sunt necesare m pozitii. Se considera deci ca in sistemul cu baza b :
M = bm (1.16)
Se presupune in plus ca numarul de circuite necesare pentru reprezentarea unei pozitii a numarului scris intr-un sistem de numeratie este direct proportional cu baza sistemului de numeratie, constanta de proportionalitate fiind k1. Atunci numarul de circuite necesare pentru reprezentarea celor M numere, notat cu N, va fi dat de urmatoarea relatie :
N = k1.b.m (1.17)
Pentru M constant numarul de pozitii m este functie numai de baza sistemului si poate fi obtinut din relatia (1.16) prin logaritmare (in baza e) :
lnM = lnbm = mlnb (1.18)
de unde :
m = = (1.19)
Inlocuind valoarea lui m obtinuta in relatia (1.19) in relatia (1.17), se obtine relatia intre numarul de circuite si baza sistemului de numeratie :
N = k1 = k3 (1.20)
Pentru a gasi baza b, pentru care N este minim se anuleaza derivata in raport cu b :
= = k3 (1.21)
Din relatia (1.21) rezulta ca :
lnb = 1 (1.22)
deci numarul de circuite este minim pentru baza b = e = 2,71828. .
Inlocuind in relatia (1.19) logaritmul natural cu logaritmul zecimal se obtine relatia :
N = k3 = k3 = k4 (1.23)
din care rezulta ca numarul de circuite este proportional cu . In tabelul 1.3 sunt date valorile acestui raport pentru cateva baze intregi.
b | |||||||
|
Tabelul 1.3.
Analizand tabelul 1.3 se constata ca daca numarul de circuite necesare pentru pastrarea unei pozitii a numarului este proportional cu baza sistemului de numeratie, sistemul ternar este cu 5,5% mai economic decat cel binar. In conditiile actuale de dezvoltare a circuitelor pentru calculatoarele numerice, cand pentru pastrarea unei pozitii ternare se folosesc tot circuite bistabile, numarul de circuite necesare pentru pastrarea unei pozitii ternare nu este cu 3/2 mai mare decat numarul de circuite necesare pentru pastrarea unei pozitii binare, ci pentru o pozitie binara este folosit un circuit bistabil, iar pentru o pozitie ternara cel putin doua circuite bistabile. Atunci numarul de circuite necesare pentru reprezentarea celor M numere in sistemul ternar este dat de relatia (1.24), iar numarul de circuite necesare pentru reprezentarea lor in sistemul binar de relatia (1.25), deduse folosind relatia (1.18) :
N3 = 2m3 = 2 (1.24)
si
N2 = m2 = (1.25)
unde m3 si m2 reprezinta numarul de pozitii ternare respectiv binare necesare pentru a reprezenta cele M numere. Din relatiile (1.24) si (1.25) rezulta ca :
= = = 1.26 (1.26)
Deci numarul de circuite, in conditiile folosirii elementelor bistabile pentru pastrarea cifrelor, este mai mare cu 26% in cazul folosirii sistemului ternar decat in cazul folosirii sistemului binar. In aceste conditii sistemul quaternar si cel octal sunt la fel de economice ca si cel binar, insa efectuarea operatiilor este mai complicata.
Sistemul binar prezinta insa si un inconvenient si anume nu permite o scriere atat de compacta (cu numar mic de pozitii) ca si sistemul zecimal. In timp ce in sistemul zecimal pentru a scrie 10 numere diferite e suficienta o singura pozitie, in sistemul binar sunt necesare conform relatie (1.19) 3,32 pozitii :
m = = = 3,32 (1.27)
Din cauza acestui dezavantaj sistemul binar este incomod pentru om si nu are sanse sa inlocuiasca sistemul zecimal in efectuarea calculelor cu hartia si creionul. Pentru calculator el este insa foarte avantajos. Faptul ca omul nu renunta la sistemul zecimal conduce la necesitatea folosirii in calculatoare a sistemului zecimal fie numai pentru introducerea si extragerea datelor numerice, fie si pentru efectuarea calculelor, cand se doreste eliminarea operatiilor de transformare din sistemul zecimal in binar la introducere si din sistemul binar in zecimal la extragere. Alaturi de sistemul binar si zecimal in calculatoare se foloseste si sistemul octal, fiindca ne ofera o posibilitate de scriere aproape la fel de compacta ca si sistemul zecimal, avand in plus avantajul unei transformari din si in binar extrem de simpla, dupa cum se va vedea in cele ce urmeaza.
Transformarea numerelor dintr-un sistem de numeratie in altul.
Transformarea numerelor reale dintr-un sistem de numeratie cu baza b intr-un sistem de numeratie cu baza h, calculele efectuandu-se in sistemul de numeratie cu baza b.
Deoarece unitatea este aceiasi in toate sistemele de numeratie, adica 1n = 1n-1 = . = 110 = = 18 = 12, orice fractie subunitara intr-un sistem de numeratie este subunitara in orice alt sistem si orice numar intreg intr-un sistem de numeratie este intreg inorice alt sistem de numeratie. Atunci partea intreaga din reprezentarea unui numar intr-un sistem de numeratie cu baza b este egala cu partea intreaga din reprezentarea aceluiasi numar intr-un sistem de numeratie cu baza h, respectiv partea fractionara din reprezentarea numarului in sistemul de numeratie cu baza b este egala cu partea fractionara din reprezentarea aceluiasi numar in baza h.
Din cele aratae mai sus rezulta ca transformarea unui numar real dintr-un sistem de numeratie in altul se reduce la transformarea numerelor intregi dintr-un sistem de numeratie in altul si a numerelor fractionare subunitare dintr-un sistem de numeratie in altul.
Pentru transformarea unui numar x, dat intr-o baza b intr-o alta baza h>1 se foloseste algoritmul 1.1.
Algoritmul 1.1.
Se ia q0 = x si i = 1 ;
Se calculeaza qi si xi-1 din relatia :
qi-1 = qih + xi-1, unde qi = (1.28)
(la baza scrierii relatiei (1.28) sta teorema impartirii intregi, v. anexa A2) ;
Daca qi = 0 se trece la pasul 5;
Daca qi ≠ 0 se schimba i cu i+1 si se trece la pasul 2 ;
Reprezentarea unica a numarului in baza h este data de relatia :
x =
unde m este ultima valoare a lui i pentru care qi ≠ 0
De obicei cand se lucreaza manual numarul este dat in baza 10 (b = 10), insa cand transformarea este facuta de catre calculator baza b poate fi alta. Algoritmul 1.1 este cunoscut sub denumirea de algoritmul sistemelor de numeratie. Inainte de a trece la exemplificare se va demonstra valabilitatea algoritmului. Pentru aceasta se vor demonstra urmatoarele doua leme :
Lema 1.1. Exista un indice i astfel incat qi = 0.
Demonstratie
Folosind teorema impartirii intregi (v. anexa A2) se poate scrie :
0 ≤ qi = ≤ < qi-1, (1.30)
intrucat h >1. Atunci se poate scrie :
0 ≤ . q2 < q1 < q0 = x (1.31)
Intre numerele intregi 0 si x ori nu se afla nici un numar intreg, ori se afla doar un numar finit de numere intregi diferite doua cate doua. Numerele q0, q1, . sunt diferite doua cate doua si nu pot fi o infinitate, deci va trebui sa existe un indice i astfel incat qi = 0.
Lema 1.2.
x = , unde 0 ≤ xi < h,
iar cifrele xi sunt calculate cu algoritmul 1.1.
Demonstratie
Din relatia (1.28) rezulta
xi = qi - hqi+1 pentru i = 0, 1, . , m-1, (1.32)
iar xm = qm, deoarece qidevine la un moment dat (pentru i = m +1) egal cu 0. Atunci
+qmhm = q0 = x (1.33)
Exemplu
Se da numarul 52910 si se cere reprezentarea sa in sistemul de numeratie cu baza 8, calculele efectuandu-se in baza 10.
Vom parcurge corespunzator pasii algoritmului 1.1 pentru h=8 :
q0 = 529 ;
q1 = = 66 ; x0 = q0 - q1h = 529 - 528 = 1 ;
q2 = = 8 ; x1 = q1 - q2h = 66 - 64 = 2 ;
q3 = = 1 ; x2 = q2 - q3h = 8 - 8 =0 ;
q4 = = 0 ; x3 = q3 = 1
Rezulta deci x = ((1021)8.
Din cele prezentate mai sus mai rezulta ca cifrele din reprezentarea numarului in sistemul de numeratie cu baza h sunt resturile obtinute in urma impartirii succesive a numarului reprezentat in baza b, respectiv a caturilor rezultate, la baza h. Primul rest reprezinta cifra cea mai putin semnificativa, iar ultimul rest cifra cea mai semnificativa a numarului reprezentat in baza h.
Pentru a transforma un numar subunitar x dintr-un sistem de numeratie cu baza b intr-un sistem de numeratie cu baza h, se foloseste algoritmul 1.2.
Algoritmul 1.2.
Se ia f0 = x si i = 1 ;
Se calculeaza fi si c-i cu relatia (1.34)
fi-1h = fi + x-i, unde x-I = [fi-1h] (1.34)
Daca fi = 0 se trece la pasul 5;
Daca fi ≠ 0 si i < n'', unde n'' reprezinta numarul de pozitii cu care trebuie reprezentat numarul in baza h, se schimba i cu i+1 si se trece la pasul 2, iar cand i = n'' se trece la pasul 5 ;
Reprezentarea numarului in baza h este data de relatia
x =
unde x-i sunt cifrele numarului in baza h obtinute la pasul 2.
Pentru a verifica acest algoritm se inlocuiesc cifrele x-i, obtinute cu relatia (1.34), in expresia numarului din relatia (1.35), obtinandu-se
x =
Daca fi devine 0 pentru i = p < n'', atunci x-p = fp-1h si expresia (1.36) devine
x = = + fp-1h-(p-1) = f0 = x. (1.37)
Daca fi nu devine 0 pentru i = n'' atunci expresia (1.36) devine
x-ih-i = = x - fn''h-n'',
unde fn'' <1, deci fn''h-n'' < .
Numarul x este dat in baza h cu o eroare mai mica decat , asa cum s-a impus in algoritm in cazul cand fi nu a devenit 0 pentru i = n''. Pentru ca precizia numarului in baza h sa fie aceiasi ca si in baza b, trebuie ca
bn' = hn'' (1.39)
unde n' este numarul pozitiilor dupa virgula in reprezentarea in baza b, iar n'' este numarul pozitiilor dupa virgula in reprezentarea in baza h. Logaritmand (in baza 10) expresia (1.39) se obtine:
n'log b = n''log h. (1.40)
Din relatia (1.40) rezulta ca pentru reprezentarea numarului in baza h cu aceiasi eroare ca si in baza b, numarul de pozitii dupa virgula in baza h, n'' trebuie sa fie
n'' = n' (1.41)
Exemplu
Se da numarul zecimal 0,128 si se cere reprezentarea sa in baza 8 cu 3 cifre dupa virgula (n''=3).
f0 = 0,128 ; x-1 = [0,128 x 8] = [1,024] = 1 ;
f1 = 1,024 - 1 = 0,024 ; x-2 = [0,024 x 8] = [0,192] = 0 ;
f2 = 0,192 - 0 = 0,192 ; x-3 = [0,192 x 8] = [1,536] = 1
Rezulta deci ca 0,128 = (0,101)8.
Un numar real x poate fi scris in general x = [x] + . Atunci pentru transformarea lui x din baza b in baza h se foloseste algoritmul 1.3.
Algoritmul 1.3.
Transformarea unui numar real din baza b in baza h, efectuand calculele in baza b, se face aplicand partii intregi algoritmul 1.1 iar partii fractionare algoritmul 1.2.
In cazul particular cand h = bk, unde k este un numar intreg mai mare decat 1 se pot separa grupurile de cate k cifre de la virgula spre stanga si spre dreapta. Aceste grupe reprezinta cate o cifra din baza h scrisa in baza b.
Exemplu
Se da numarul binar 10101110,10101 si se cere reprezentarea sa in baza 8.
Numarul reprezentat in baza 8 cu cifrele scrise in baza 2 (calculele efectuandu-se in baza 2) va fi : (010)(101)(110),(101)(010)8.
Transformarea numerelor reale dintr-un sistem de numeratie cu baza b intr-un sistem de numeratie cu baza h, calculele efectuandu-se in sistemul de numeratie cu baza h.
Acest caz s-a intalnit deja la transformarea numerelor binare si octale in numere zecimale.
Se da un numar intreg x in baza b, notat
(xmxm-1 . x1x0)b.
Conform teoremei fundamentale a sistemelor de numeratie acest numar se poate scrie ca in relatia
(xmxm-1 . x1x0)b = xmbm + xm-1bm-1 + . + x1b1 + x0b0 =
in care xi, pentru i = 0, 1, . , m si b sunt scrise in baza h.
Facand in membrul al doilea al relatiei (1.42) calculele in baza h, se obtine echivalentul numarului dat, scris in baza h.
Relatia (1.42) se poate scrie folosind schema Hornel sub forma (1.43).
(xmxm-1 . x1x0)b = b + x0
Din aceasta relatie rezulta algoritmul 1.4.
Algoritmul 1.4.
Se ia s0 = xm si i = 1;
si = si-1b + xm-i ;
Daca i < m se schimba i cu i+1 si se reia pasul 2 ;
Daca i = m, si reprezinta numarul dat, scris in baza h.
Exemple
Sa se scrie numarul 1974 scris in baza 10 urmand pasii algoritmului 1.4
In acest caz m = 3, h = 10. Se ia s0 = x3 = 1 si i = 1. Avem:
s1 = 1 x 10 + 9 = 19 ;
s2 = 19 x 10 + 7 = 197 ;
s3 = 197 x 10 + 4 = 1974.
a. Se da numarul 3158 si se cere echivalentul sau binar. Calculele se fac in binar (h = 2), atat baza b, cat si cifrele numarului in baza b urmand a se scrie in binar.
s0 = 11 ;
x2
si = 11 x 1000 + 1 = 11001 ;
s0 b=8 x1
s2 = 11001 x 1000 + 101 = 110011012.
s1 b=8 x0
Daca se da un numar real care are numai parte fractionara (,x-1x-2 . x-n)b, atunci transformarea se face in mod asemanator cu cazul precedent (al numerelor intregi).
Reprezentand fractia subunitara conform relatiei (1.9) rezulta relatia (1.44) in care cifrele x-i, pentru i = 1,2, . ,m si baza b sunt scrise in baza h. Calculand membrul al doilea al relatiei (1.44) in baza h, se obtine fractia dara, scrisa in baza h.
(,x-1x-2 . x-n)b = x-1b-1 + x-2b-2 + . + x-nb-n (1.44)
Relatia (1.44) se poate scrie si sub forma
(,x-1x-2 . x-n)b = b-1. (1.45)
Din aceasta relatie rezulta algoritmul 1.5.
Algoritmul 1.5.
Se ia s0 = x-nb-1 si i = 1 ;
si = (si-1 + x-(n-i))b-1 ;
Daca i < n-1, atunci se schimba i cu i + 1 si se revine la pasul 2, iar daca i = n - 1, atunci si reprezinta numarul subunitar dat scris in baza h.
Exemplu
Sa se transforme numarul 0,1012 in sistemul zecimal. Calculele se fac in zecimal (h=10).
s0 = 1 x 2-1 = , (n = 3)
s1 = ( + 0) x =
s2 = ( + 1) x = = 0,625
Pe baza celor aratate mai sus se poate trage concluzia ca un numar real reprezentat in baza b sub forma (xmxm-1 . x1x0,x-1x-2 . x-n)b, se transforma in baza b folosind relatia
(xmxm-1 . x1x0,x-1x-2 . x-n)b =
= xmbm + xm-1bm-1 + . + x1b1 + x0b0 + x-1b-1 + x-2b-2 + x-nb-n .
Considerand algoritmii 1.4 si 1.5, rezulta algoritmul 1.6.
Algoritmul 1.6.
Un numar real reprezentat in baza b se transforma in baza h aplicand pentru transformarea partii intregi algoritmul 1.4, iar pentru transformarea partii fractionare algoritmul 1.5.
Exista un caz particular cand b = hk, unde k este un numar intreg mai mare decat 1. In acest caz se inlocuieste fiecare cifra a numarului reprezentat in baza b cu un grup de k cifre ale sistemului de numeratie cu baza h. Acest grup de cifre reprezinta echivalentul in baza h a cifrei respective.
Exemplu
Sa se transforme numarul octal 25,3 in baza h = 2.
Intradevar conform relatiei (1.46),
(25,3)8 = 010 x 10001 + 101 x 10000 + 011 x 1000-1 =
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2546
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved