Bazele aritmetice ale calculatoarelor electronice



Yüklə 145,95 Kb.
tarix08.01.2019
ölçüsü145,95 Kb.
#92783

BAZELE ARITMETICE ALE CALCULATOARELOR ELECTRONICE



  1. SISTEME ŞI BAZE DE NUMERAŢIE




    1. Prezentare generală; definiţii

Suntem atât de obişnuiţi cu sistemul de numeraţie zecimal, încât ni se pare că utilizarea lui este cel puţin cea mai bună alegere, sau, uneori, suntem tentaţi să credem chiar că este singura posibilitate şi nici nu ne mai punem problema ce « se ascunde » în spatele acestei reprezentari, care este, de fapt, doar una dintre multiplele posibilităţi de reprezentare a numerelor şi de efectuare a calculelor.

Sa luăm, pentru exemplificare, numărul natural 209319.

În mod evident, noi întelegem că este vorba de numărul « două sute nouă mii trei sute nouăsprezece », adică :


2  100000 + 0  10000 + 9  1000 + 3  100 + 1  10 + 9,
ceea ce mai poate fi scris ca :
209319 = 2  105 + 0  104 + 9  103 + 3  102 + 1  101 + 9  100.
Deci, orice număr natural poate fi scris ca o sumă de produse, fiecare termen al sumei fiind produsul dintre o cifră (de la 0 până la 9, aşa cu am învăţat în clasele primare …) şi o putere a lui 10.

Puterile lui 10 descresc de la stânga spre dreapta, cea mai mare putere fiind determinată de mărimea numărului respectiv.

Pentru un numar N oarecare vom avea, deci :
N = an10n + an-110 n-1 + an-210n-2 + … + a2102 + a1101 + a0100, (1)
unde coeficienţii ai sunt cifre de la 0 până la 9.

După cum am fost învăţaţi, noi nu mai scriem puterile lui 10, ci doar înşiruirea acestor coeficienţi (cifrele din care este alcătuit numărul). Puterile corespunzătoare ale lui 10 le subînţelegem, după poziţia pe care o ocupă cifrele respective în alcătuirea numărului. Un astfel de sistem de numeraţie se numeşte sistem de numeraţie poziţional.

Avem deci la dispoziţie 10 simboluri (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), cu ajutorul cărora vom putea reprezenta orice nuamăr, indiferent de mărimea sa.

Aşa cum numărul


2  105 + 0  104 + 9  103 + 3  102 + 1  101 + 9  100
era reprezentat ca 209319 (renunţând la scrierea puterilor lui 10, care înmulţesc de fapt fiecare cifră), numărul
N = an10n + an-110 n-1 + an-210n-2 + … + a2102 + a1101 + a0100
va fi scris ca
N = anan-1an-2 … a1a0 , (2)
prin aceasta neîntelegând înmulţirea între coeficienţii ai ci, aşa cum am arătat, interpretarea din formula (1).

Coeficienţii ai sunt cifrele din care este format numarul N.

Alegerea a 10 simboluri (cifrele de la 0 până la 9) nu este însă nici singura posibilitate si nici cea mai bună în orice ocazie. Antropologii sunt unanimi în a considera că această alegere se datorează în exclusivitate faptului că avem 10 degete la mâini.

Mai mult, ea nu afost nici totdeauna nici pretutindeni valabilă.

Se ştie cu certitudine că au existat reprezentări folosind :


  • 20 de simboluri – urmările se pot vedea în limba franceză, unde numărul 99 se citeşte quatre vingt dix neuf, adică, mot-a-mot de 4 ori douăzeci şi nouăsprezece

  • 12 simboluri – se regăsşte în sistemul de unităţi anglo-saxon (cu divizarea unităţilor de măsură în 12 părţi egale), sau în termenul românesc duzină, care, în mod riguros înseamnă o cantitate de 12 obiecte

  • 60 de simboluri – utilizat în Egiptul antic

Să revenim la numărul nostru (209319). El poate fi la fel de bine reprezentat ca o sumă de puteri ale lui 7 (de exemplu) şi nu ale lui 10 ; mai mult, putem face în aşa fel încât coeficienţii acestor puteri să ia valori numai într-o mulţime cu 7 elemente {0, 1, 2, 3, 4, 5, 6} 
209319 = 176 + 575 + 374 + 173 + 172 + 571 + 570 ,
ceea ce poate fi verificat imediat, prin efectuarea calculelor
( 176 + 575 + 374 + 173 + 172 + 571 + 570 = 1117649 + 516807 + 32401 + 1343 + 149 + 57 + 51 = 117649+84035+7203+343+49+35+5 = 209319 ).
Pentru a putea deci să reprezentăm orice număr conform principiului enunţat, avem nevoie de două mulţimi :

  • o mulţime A de denumiri (numele cifrelor, de exemplu « zero », « unu », etc.)

  • o mulţime B de simboluri (reprezentarea grafică a cifrelor din mulţimea A ; de exemplu « 1 », « 2 », etc)

Între cele două mulţimi există o corespondentă biunivocă.

Numărul de elemente al mulţimii A (şi deci, în mod evident, şi al mulţimii B) poate fi oarecare, dar cel puţin 2. Astfel, în sistemul zecimal (sistemul cu care suntem astăzi obişnuiţi), acest număr este 10 (cifrele de la 0 până la 9). In exemplul anterior, acest număr este 7 (cifrele de la 0 până la 6).

Putem utiliza şi un număr mai mare de simboluri (am văzut că vechii egipteni foloseau 60 …). Va trebui ca în afara celor cu care suntem familiarizaţi (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) să mai “inventăm” alte simboluri. În informatică s-a generalizat utilizarea literelor mari ale alfabetului latin.

De exemplu, să presupunem că ne-am decis la utilizarea unui sistem de numeratie cu 18 de simboluri (cifre). Trebuie să adăugăm « cifrele » A, B, C, D, E, F, G, H.

Semnificaţiile acestor simboluri vor fi :

0 cifra (şi numărul natural) 0

1 cifra (şi numărul natural) 1

2 cifra (şi numărul natural) 2

3 cifra (şi numărul natural) 3

4 cifra (şi numărul natural) 4

5 cifra (şi numărul natural) 5

6 cifra (şi numărul natural) 6

7 cifra (şi numărul natural) 7

8 cifra (şi numărul natural) 8

9 cifra (şi numărul natural) 9

A cifra A, corespunzând numărului natural 10 din sistemul zecimal

B cifra B, corespunzând numărului natural 11 din sistemul zecimal

C cifra C, corespunzând numărului natural 12 din sistemul zecimal

D cifra D, corespunzând numărului natural 13 din sistemul zecimal

E cifra E, corespunzând numărului natural 14 din sistemul zecimal

F cifra F, corespunzând numărului natural 15 din sistemul zecimal

G cifra G, corespunzând numărului natural 16 din sistemul zecimal

H cifra H, corespunzând numărului natural 17 din sistemul zecimal
Având la dispoziţie aceste 18 simboluri, putem exprima numărul natural 209319 din sistemul zecimal ca o sumă de produse în care să apară puterile lui 18, iar coeficienţii să fie din mulţimea celor 18 simboluri de mai sus :
N = 209319 = 1184 + H183 + G182 + 0181 + F180
Pentru verificare, vom efectua calculele, ţinând seama de semnificaţia simbolurilor nou introduse :
1184 + H183 + G182 + 0181 + F180 = 1184 + 17183 + 16182 + 0181 + 15180 = =1104976 + 175832 + 16324 + 018 + 151 = 209319
În sistemul zecimal, scrisesem numărul 2105 + 0104 + 9103 + 3102 + 1101 + 9100 renunţând să mai scriem şi puterile lui 10, prin simpla înşiruire a coeficienţilor, care constituiau astfel cifrele constitutive ale numărului : 209319.

Dacă vom face acelaşi lucru şi cu reprezentarea


1184 + H183 + G182 + 0181 + F180,
vom obţine
N = 1HGOF.
Suntem acum în măsură să generalizăm :
Putem exprima orice număr natural dacă dispunem de doua mulţimi (A – a denumirilor cifrelor şi B – a simbolurilor grafice ale acestor cifre) între care s-a stabilit o corespondenţă biunivocă.

Numărul de elemente ale mulţimii B se numeşte baza de numeraţie.

Orice număr natural se exprimă atunci ca o sumă de produse între nişte coeficienţi (cifre cuprinse între 0 şi b-1 , unde b este baza de numeraţie) şi puterile corespunzătoare ale bazei b :
N = anbn + an-1bn-1 + … + a2b2 + a1+b1 + a0b0 , (3)
unde coeficienţii ai iau, în mod evident, valori între 0 şi b-1.

Dacă un număr este la forma (3), spunem că este exprimat sub formă polinomială.

Dacă nu există posibilitatea de confuzie (ştim care este baza de numeraţie în care am reprezentat numărul), putem rennţa la scrierea polinimială (deci la transcrierea puterilor bazei), scriind doar înşiruirea coeficienţilor ai :
N = anan-1an-2 … a1a0 (4),
aşa cum procedam în cazul sistemului zecimal.

Pentru a evita ambiguităţile, baza se scrie între paranteze în modul următor :


N = anan-1an-2 … a1a0 (b) (5)
În cuprinsul acestui capitol, vom utiliza reprezentările numerelor sub formele din formulele (3) şi (5).

Exemplele pe care le-am prezentat anterior se sintetizează atunci în modul următor :


N = 209319(10) = 1531155(7) = 1HG0F(18)
(este deci vorba de reprezentarea aceluiaşi număr în bazele de numeraţie 10, 7 şi 18).
În studiul informaticii, importanţă practică prezintă următoarele baze de numeraţie :


  1. b=10 (sistemul zecimal)

este forma exterioara în care se prezintă datele ce urmează a fi prelucrate şi rezultatele acestor prelucrări ; este sistemul de numeraţie cu care suntem obişnuiţi, sistem care utilizează cele 10 simboluri cunoscute (cifrele 0,1, 2, 3, 4, 5, 6, 7, 8, 9 – cifre preluate de către europeni de la matematicienii arabi) ;

  1. b=2 (sistemul binar)

este forma sub care se prezintă informaţiile în calculator ; aşa cum rezultă din definiţiile date până acum, utilizează doar două simboluri – cifrele 0 şi 1 – vom reveni pe larg asupra acestui sistem ;

  1. b=8 (sistemul octal)

utilizează 8 simboluri (cifrele de la 0 până la 7) – utilizarea sa este mai restânsă decât a sistemelor 2 si 16 ;

  1. b=16 (sistemul hexagesimal)

constituie (aşa cum vom vedea) mai degrabă o formă « condensată » de reprezentare a sistemului binar ; utilizează 16 simboluri (cifrele de la 0 până la 9, la care se adauga 6 simboluri noi, cu semnificaţiile :
A cifra A, corespunzând numărului natural 10 din sistemul zecimal

B cifra B, corespunzând numărului natural 11 din sistemul zecimal

C cifra C, corespunzând numărului natural 12 din sistemul zecimal

D cifra D, corespunzând numărului natural 13 din sistemul zecimal

E cifra E, corespunzând numărului natural 14 din sistemul zecimal

F cifra F, corespunzând numărului natural 15 din sistemul zecimal)


Este evident că prima problemă care se pune, pentru a putea utiliza numere scrise în alte sisteme de numeraţie decât cel zecimal, este de a dispune de algoritmi pentru trecerea acestor numere în baza dorita (şi în general dintr-o bază în alta).


    1. Trecerea numerelor naturale din baza 10 intr-o baza b oarecare

Să pornim tot de la un exemplu concret : reluăm numărul 209319(10) .

Dorim să trecem acest număr în baza 5. Fără a spune (pentru început) cum am rezolvat această problemă, vom da deja rezultatul :
N = 209319(10) = 23144234(5)
Chiar dacă nu ştim (deocamdată) cum am ajuns la acest rezultat, suntem deja în măsură să verificăm dacă este corect.

Întra-adevăr, conform definiţiilor date şi a formulei (3),


N = 23144234(5) =

= 257 + 356 + 155 + 454 + 453 + 252 + 351 + 450 =

= 278125 + 315625 + 13125 + 4625 + 4125 + 225 + 35 + 41 =

= 156250+46875+3125+2500+500+50+15+4 =

= 209319
unde toate calculele s-au efectuat în sistemul zecimal.

Cum putem însă să ajungem la această reprezentare în baza 5 (corectă, dupa cum tocmai am demonstrat) ?

Conform definiţiei, numărul căutat este de forma :
a757 + a656 + a555 + a454 + a353 + a252 + a151 + a050,
care este scrierea polinomială a numărului nostru în baza 5 şi unde trebuie să determinăm coeficienţii ai (să ajngem pe o cale oarecare la concluzia că a7=2, a6=3, a5=1, a4=4, a3=4, a2=2, a1=3, a0=4).

Dacă împărţim numărul 209319 la 5 (baza în care vrem să trecem numărul), obţinem


209319 : 5 = 41863 rest 4
Dacă în scrierea polinomială a numărului în baza 5 (care este acelaşi număr 209319, altfel scris) scoatem factor comun pe 5, obţinem :
N = 5(a756 + a655 + a554 + a453 + a352 + a251 + a150)+ a0,
ceea ce înseamnă că împărţind la 5 obţinem cătul
C0 = a756 + a655 + a554 + a453 + a352 + a251 + a150
şi restul R0 = a0.

Cum am împărţit la 5 acelaşi număr (doar exprimat altfel), rezultă că C0=41863, şi, ceea ce este mai important, a0=4. Am determinat deci coeficientul a0 din exprimarea numărului nostru în baza 5 ; el este chiar restul împărţirii lui 209319 la 5.

Împărţind pe C0=41853 la 5 obţinem un nou cât şi un nou rest :
C0 : 5 = 41853 : 5 = 8372 rest 3
Dar, C0 = a756 + a655 + a554 + a453 + a352 + a251 + a150

în care vom da din nou factor comun pe 5, obţinând :


C0 = 5(a755 + a654 + a553 + a452 + a351 + a250)+ a1

şi, prin împărţire oţinem un cât şi un rest


C0 : 5 = C1 rest R1,
unde C1 = a755 + a654 + a553 + a452 + a351 + a250
şi R1=a1,
de unde deducem că C1=8372 şi a1=3, adică am mai găsit o cifră din reprezentarea în baza 5 a numarului nostru : ea este restul împărţirii primului cât la 5 (baza în care dorim să trecem numărul.

Continuând de aceeaşi manieră, obţinem succesiv :


C1 : 5 = 8372 : 5 = 1674 şi rest 2, cu

C1 = a755 + a654 + a553 + a452 + a351 + a250 =

=5(a754 + a653 + a552 + a451 + a350)+ a2 =

=5  C2 + a2


ceea ce înseamnă că C2=1674 şi a2=2
C2 : 5 = 1674 : 5 = 334 şi rest 4

C2 = a754 + a653 + a552 + a451 + a350 =

= 5(a753 + a652 + a551 + a450)+ a3 =

= 5  C3 + a3


ceea ce înseamnă ca C3=334 şi a3=4
C3 : 5 = 334 : 5 = 66 şi rest 4

C3 = a753 + a652 + a551 + a450 =

= 5(a752 + a651 + a550)+ a4 =

= 5  C4 + a4


ceea ce înseamnă că C4=66 şi a4=4
C4 : 5 = 66 : 5 = 13 şi rest 1

C4 = a752 + a651 + a550 =

= 5(a751 + a650)+ a5 =

= 5  C5 + a5


ceea ce înseamnă că C5=13 şi a5=1

C5 : 5 = 13 : 5 = 2 şi rest 3

C5 = a751 + a650 =

= 5(a750) + a6 =

= 5  C6 + a6
ceea ce înseamnă că C6=2 şi a6=3
C6 : 5 = 2 : 5 = 0 şi rest 2 (ATENŢIE : Noul cât este zero !)

C6 = a750 =

= 5  C7 + a7
ceea ce înseamnă că C7=0 (semnal de STOP) şi a7=2
Observăm cu uşurinţă că, împărţind rând pe rând numărul nostru din baza 10 şi apoi resturile succesive obţinute la 5 (noua bază în care dorim să exprimăm numărul dat), obţinem resturile a0, a1, a2, … ,a7, adică tocmai cifrele constitutive ale numărului nostru în baza 5

(în ordinea inversă în care apar ele în exprimarea polinomială).

N == 209319(10) = a7a6a5a4a3a2a1a0 (5) = 23144234(5) =

= 257 + 356 + 155 + 454 + 453 + 252 + 351 + 450


Din mersul de calcul, este evident că acest lucru rămâne valabil oricare ar fi baza b în care dorim să exprimăm numărul nostru din baza 10, ceea ce poate fi demonstrat pornind de la formula (3) :

N = anbn + an-1bn-1 + … + a2b2 + a1b1 + a0b0 =

= b(anbn-1 + an-1bn-2 + … + a2b1 + a1b0)+ a0

N: b = C0 rest R0

cu C0 = anbn-1 + an-1bn-2 + … + a2b1 + a1b0 =

= b(anbn-2 + an-1bn-3 + … + a2b0) + a1

R0=a0
C0 : b = C1 rest R1

cu C1 = anbn-2 + an-1bn-3 + … + a3b1 + a2b0 =

= b(anbn-3 + an-1bn-4 + … + a3b0) + a2

R1=a1
C1 : b = C2 rest R2

cu C1 = anbn-3 + an-1bn-4 + … + a4b1 + a3b0 =

= b(anbn-4 + an-1bn-5 + … + a4b0) + a3

R2=a2

….

Procedeul se repetă până când se obţine câtul 0 (semnalul de STOP); ultimul rest obţinut va reprezenta prima cifră a numărului exprimat în baza b.



Aceasta reprezintă chiar algoritmul de trecere a unui număr natural din baza 10 într-o bază b oarecare :

  • se împarte succesiv numărul din baza 10 (şi câturile succesive obţinute pe parcurs) la valoarea b ( baza în care dorim să trecem numarul);

  • se reţin resturile succesive obţinute pe parcurs;

  • procedeul se opreşte după ce s-a obţinut un cât egal cu zero (reţinându-se deci şi restul respectiv) ;

  • resturile succesive obţinute constituie, în ordinea inversă, cifrele numărului exprimat in noua bază.

Să verificam algoritmul pe câteva exemple :


Exemplul 1
Să trecem numărul N = 209319(10) în baza 6.

Se utilizează 6 simboluri (cifrele de la 0 până la 5).


N : 6 = 209319 : 6 = 34886 rest 3 C0=34886 R0=a0=3

C0 : 6 = 34886 : 6 = 5814 rest 2 C1=5814 R1=a1=2

C1 : 6 = 5814 : 6 = 969 rest 0 C2=969 R2=a2=0

C2 : 6 = 969 : 6 = 161 rest 3 C3=161 R3=a3=3

C3 : 6 = 161 : 6 = 26 rest 5 C4=26 R4=a4=5

C 6 = 26 : 6 =4 rest 2 C5=4 R5=a5=2

C5 : 6 = 4 : 6 = 0 rest 4 C6=0 R6=a6=4
Am obţinut restul 0, deci procedeul se opreşte aici. Rezultă că numărul N=209319(10) se exprimă în baza 6 pe 7 cifre :
N = 209319(10) = a6a5a4a3a2a1a0 (6)= 4253023(6)
Verificare :
4253023(6) = 466 + 265 + 564 + 363 + 062 + 261 + 360 =

= 446656 + 27776 + 51296 + 3216 + 036 + 26 + 31 =

= 186624 + 155552 + 6480 + 0 + 12 + 3 = 209319
Exemplul 2
Să trecem numărul N = 209319(10) în baza 19.

Se utilizează 19 simboluri (cifrele de la 0 până la 9 şi literele mari A=10, B=11, C=12, D=13, E=14, F=15, G=16, H=17, I=18).


N : 19 = 209319 : 19 = 11016 rest 15 C0=11016 R0=a0=15=F

C0 : 19 = 11016 : 19 = 579 rest 15 C1=579 R1=a1=15=F

C1 : 19 = 579 : 19 = 30 rest 9 C2=30 R2=a2=9

C2 : 19 = 30 : 19 = 1 rest 11 C3=11 R3=a3=11=B

C3 : 19 = 1 : 19 = 0 rest 1 C4=0 R4=a4=1
Am obţinut restul 0, deci procedeul se opreşte aici. Rezultă că numărul N=209319(10) se exprimă în baza 19 pe 5 cifre :
N = 209319(10) = a4a3a2a1a0 (19) = 1B9FF(19)

Verificare :


1B9FF(19) = 1 194 + B193 + 9192 + F191 + F190 =

= 1 194 + 11193 + 9192 + 15191 + 15190 =

= 1130321 + 116859 + 9361 + 1519 + 151 =

= 130321 + 75449 + 3294 + 285 + 15 = 209319


Exemplul 3
Să trecem numărul N = 209319(10) în baza 2 (sistemul binar).

Se utilizează 2 simboluri (cifrele 0 şi 1).


N : 2 = 209319 : 2 = 104659 rest 1 C0=104659 R0=a0=1

C0 : 2 = 104659 : 2 = 52329 rest 1 C1=52329 R1=a1=1

C1 : 2 = 52329 : 2 = 26164 rest 1 C2=26164 R2=a2=1

C2 : 2 = 26164 : 2 = 13082 rest 0 C3=13082 R3=a3=0

C3 : 2 = 13082 : 2 = 6541 rest 0 C4=6541 R4=a4=0

C 2 = 6541 : 2 =3270 rest 1 C5=3270 R5=a5=1

C5 : 2 = 3270 : 2 = 1635 rest 0 C6=1635 R6=a6=0

C6 : 2 = 1635 : 2 = 817 rest 1 C7=817 R7=a6=1

C7 : 2 = 817 : 2 = 408 rest 1 C8=408 R8=a7=1

C8 : 2 = 408 : 2 = 204 rest 0 C9=204 R9=a8=0

C9 : 2 = 204 : 2 = 102 rest 0 C10=102 R10=a9=0

C10 : 2 = 102 : 2 = 51 rest 0 C11=51 R11=a10=0

C11 : 2 = 51 : 2 = 25 rest 1 C12=25 R12=a11=1

C12 : 2 = 25 : 2 = 12 rest 1 C13=12 R13=a12=1

C13 : 2 = 12 : 2 = 6 rest 0 C14=6 R14=a13=0

C14 : 2 = 6 : 2 = 3 rest 0 C15=3 R15=a15=0

C15 : 2 = 3 : 2 = 1 rest 1 C16=1 R16=a16=1

C16 : 2 = 1 : 2 = 0 rest 1 C17=0 R17=a17=1


Am obţinut restul 0, deci procedeul se opreşte aici. Rezultă că numărul N=209319(10) se exprimă în baza 2 pe 18 cifre :
N = 209319(10) = a17a16a15a14a13a12a11a10a9a8a7a6a5a4a3a2a1a0 (2) =

= 110011000110100111(2)


Verificare :
110011100110100111(2) = 1217 + 1216 + 0215 + 0214 + 1213 + 1212 +

0211 + 0210 + 029 + 128 + 127 + 026 + 125 + 024 + 023 + 122 + 121 +120 =

= 1131072 + 165536 + 032768 + 016384 + 18192 + 14096 + 02048 + 01024 + 0512 + 1256 + 1128 + 064 + 132 + 016 + 08 + 14 + 12 + 11 =

131072 + 65536 + 8192 + 4096 + 256 +128 +32 +4 + 2 + 1 = 209319



Exemplul 4
Să trecem numărul N = 209319(10) în baza 8 (sistemul octal).

Se utilizează 8 simboluri (cifrele de la 0 până la 7).


N : 8 = 209319 : 8 = 26164 rest 7 C0=26164 R0=a0=7

C0 : 8 = 26164 : 8 = 3270 rest 4 C1=3270 R1=a1=4

C1 : 8 = 3270 : 8 = 408 rest 6 C2=408 R2=a2=6

C2 : 8 = 408 : 8 = 51 rest 0 C3=51 R3=a3=0

C3 : 8 = 51 : 8 = 6 rest 3 C4=6 R4=a4=3

C 8 = 6 : 8 =0 rest 6 C5=0 R5=a5=6


Am obţinut restul 0, deci procedeul se opreşte aici. Rezultă că numărul N=209319(10) se exprimă în baza 8 pe 6 cifre :
N = 209319(10) = a5a4a3a2a1a0 (8)= 630647(8)
Verificare :
630647(6) = 685 + 384 + 083 + 682 + 481 + 780 =

= 632768 + 34096 + 0512 + 664 + 48 + 71 =

= 196608 + 12288 + 384 + 32 + 7 = 209319
Exemplul 5
Să trecem numărul N = 209319(10) în baza 16 (sistemul hexagesimal).

Se utilizează 16 simboluri (cifrele de la 0 până la 9 şi literele mari A=10, B=11, C=12, D=13, E=14, F=15).


N : 16 = 209319 : 16 = 13082 rest 7 C0=13082 R0=a0=7

C0 : 16 = 13082 : 16 = 817 rest 10 C1=817 R1=a1=10=A

C1 : 16 = 817 : 16 = 51 rest 1 C2=51 R2=a2=1

C2 : 16 = 51 : 16 = 3 rest 3 C3=3 R3=a3=3

C3 : 16 = 3 : 16 = 0 rest 3 C4=0 R4=a4=3
Am obţinut restul 0, deci procedeul se opreşte aici. Rezultă că numărul N=209319(10) se exprimă în baza 16 pe 5 cifre :
N = 209319(10) = a4a3a2a1a0 (16) = 331A7(16)
Verificare :
331A7(16) = 3 164 + 3163 + 1162 + A161 + 7160 =

= 3194 + 3193 + 1192 + 10191 + 7190 =

= 365536 + 34096 + 1256 + 1016 + 71 =

= 196608 + 12288 + 256 + 160 + 7 = 209319


Aplicând acelaşi procedeu, poate fi trecut numărul dat în orice bază (b≥2).

Pentru un control al celor învăţate, vom da reprezentarea aceluiaşi număr (209319) în toate bazele de numeraţie de la baza b=2 (sistemul binar, şi totodată cea mai mică bază posibilă) până la baza b=20 :


N = 209319(10) =

= 110011000110100111(2) =

= 101122010120(3) =

= 303012213(4) =

= 23144234(5) =

= 4253023(6) =

= 1531155(7) =

= 630647(8) =

= 348116(9) =

= 209319(10) =

= 1332A0(11) =

= A1173(12) =

= 74376(13) =

= 563D5(14) =

= 42049(15) =

= 331A7(16) =

= 28A47(17) =

= 1HG0F(18) =

= 1B9FF(19) =

= 1635J(20)





    1. Trecerea numerelor naturale dintr-o baza b oarecare in baza 10

În toate exemplele pe care le-am analizat anterior (de trecere a unui număr din baza 10 intr-o bază b oarecare), am verificat corectitudinea rezultatelor obţinute prin aplicarea formulei polinomiale (3).

Aceasta constituie chiar metoda de trecere a unui număr natural dintr-o bază b oarecare în baza 10 : aplicarea formulei polinomiale (3).



    1. Trecerea numerelor naturale dintr-o baza b1 (oarecare) intr-o alta baza b2 (oarecare)

Având la dispoziţie o metodă de trecere a unui număr natural dintr-o bază oarecare în baza 10 şi o metodă de trecere a unui număr natural din baza 10 într-o bază b oarecare, putem trece cu uşurinţă un număr dintr-o bază b1 într-o bază b2 , prin aplicarea combinată a celor două metode : se trece numărul din baza b1 în baza 10, apoi se trece rezultatul în baza b2 prin metodele deja menţionate.





    1. Trecerea reciproca a numerelor naturale dintr-o baza b1 intr-o baza b2=b1k

În cazul particular în care cele două baze b1 şi b2 sunt legate între ele printr-o relaţie de forma b2 = b1k, trecerea din baza b1 în baza b2 (şi reciproc) se poate face direct, fără a mai fi nevoie să mai trecem prin intermediul bazei 10.

Să exprimăm acelaşi număr N în bazele b2 şi b1; conform formulei polinomiale (3), vom avea :
N = αnb2n + αn-1b2n-1 + αn-2b2n-2 + … . + α2b22 + α1b21 + α0b20 = αnαn-1αn-2…α2α1α0(b2)

N = βnb1n + βn-1b1n-1 + βn-1b1n-2 + … . + β1b12 + β1b11 + β0b10 = βnβn-1βn-2…β2β1β0(b1)


unde :
αi ≤ b2-1, i = 1 … n

βj ≤ b1-1, j = 1 … m


şi, datorită faptului că b2 = b1k, vom avea n ≤ m (acelaşi număr natural N are o reprezentare mai “lungă” în baza mai mică – b1 – decât în baza mai mare – b­2 ).

Putem să calculăm mai exact valoarea lui m (în raport cu n), raţionând în modul următor :

Din exprimarea numărului N în baza b2 (unde am notat cu n cel mai mare exponent al bazei b2) rezultă că N < b2n+1 (dacă n-ar fi aşa, în dezvoltarea polinomială ar trebui să apară şi puterea n+1).

Ştiind că b2 = b1k, putem deduce succesiv


N < b2n+1 = (b1k)n+1
Din exprimarea numărului N în baza b1 (unde am notat cu m cel mai mare exponent al bazei b1) şi, ţinând cont de rezultatul anterior, rezultă că

m ≤ b1kn+k-1

ceea ce înseamnă că reprezentarea numărului N în baza b1 va fi, de fapt :
N = βkn+k-1bkn+n-1 + βkn+k-2bkn+n-2 + … + β2b2 + β1b1 + β0b0 = βkn+k-1βkn+k-2…β2β1β0(b1)
Evident că, din acest punct de vedere, a trece numărul N din baza b2 în baza b1 revine la a determina coeficienţii βj (j ≤ kn+k-1) atunci când cunoaştem coeficienţii αi (i ≤ n). Să ne aducem aminte că dispunem deja de o metodă indirectă : aceea de a trece numărul din baza b2 în baza 10, apoi din baza 10 în baza b1, dar aşa cum anunţam anterior, în cazul particular în care ne găsim (b2 = b1k), există şi o metodă directă, fără a mai fi necesară trecerea prin intermediul bazei 10.

Pentru aceasta să observăm că toţi coeficienţii αi sunt cifre (simboluri) în reprezentarea numărului în baza b2i ≤ b2-1), dar exprimarea lor în baza b1 constituie numere (formate din una sau mai multe cifre), din simplul motiv că în baza b1 cifrele pot fi cel mult egale cu b1-1 ≤ b2-1.

Să exprimăm pe oricare dintre coeficienţii αi în baza b1; observăm, mai întâi, că
αi ≤ b2-1 = b1k-1 < b1k,
ceea ce înseamnă că în exprimarea polinomială a oricăruia dintre coeficienţii αi în baza b1 va apărea cel mult puterea k-1 a bazei b1; conform formulei polinomiale, vom avea :
αi = ai,k-1b1k-1 + ai,k-2b1k-2 + ai,k-3b1k-3 + … + ai,2b12 + ai,1b11 + ai,0b10 =

= ai,k-1ai,k-2ai,k-3…ai,2ai,1ai,0 (b1),


(unde coeficienţii ai,j respectă condiţia ai,j ≤ b1-1).

Înlocuind acum în dezvoltarea polinomială a numărului N în baza b2 valoarea coeficienţilor αi pe care tocmai am calculat-o şi ţinând cont de faptul că b2 = b1k, obţinem :


N = αnb2n + αn-1b2n-1 + αn-2b2n-2 + … . + α2b22 + α1b21 + α0b20 =

= (an,k-1b1k-1 + an,k-2b1k-2 + an,k-3b1k-3 + … + an,2b12 + an,1b11 + an,0b10)b1kn +

= (an-1,k-1b1k-1 + an-1,k-2b1k-2 + an-1,k-3b1k-3 + … + an-1,2b12 + an-1,1b11 + an-1,0b10)b1kn +

= (an-2,k-1b1k-1 + an-2,k-2b1k-2 + an-2,k-3b1k-3 + … + an-2,2b12 + an-2,1b11 + an-2,0b10)b1kn +

= (a2,k-1b1k-1 + a2,k-2b1k-2 + a2,k-3b1k-3 + … + a2,2b12 + a2,1b11 + a2,0b10)b1kn +



= (a1,k-1b1k-1 + a1,k-2b1k-2 + a1,k-3b1k-3 + … + a1,2b12 + a1,1b11 + a1,0b10)b1kn +

= (a0,k-1b1k-1 + a0,k-2b1k-2 + a0,k-3b1k-3 + … + a0,2b12 + a0,1b11 + a0,0b10)b1kn


Observăm două lucruri :

  • am obţinut o sumă de produse între nişte coeficienţi a­i,j ≤ b1 şi puterile (strict descrescătoare) ale bazei b1;

  • cea mai mare putere a bazei este kn+k-1

Acest lucru înseamnă că am obţinut tocmai reprezentarea căutată a numărului N în baza b1 , adică am determinat coeficienţii βj (j ≤ kn+k-1) atunci când cunoaştem coeficienţii αi (i ≤ n).

Conform definiţiilor date, reprezentarea polinomială a numărului N în baza b1 va consta din simpla înşiruire a coeficienţilor ai,j rezultaţi din desfacerea parantezelor şi renunţarea la a mai scrie puterile bazei b1 :


N = an,k-1an,k-2an,k-3…an,2an,1an,0an-1,k-1an-1,k-2an-1,k-3…an-1,2an-1,1an-1,0an-2,k-1an-2,k-2an-2,k-3 …an-2,2an-2,1an-2,0

a2,k-1a2,k-2a2,k-3…a2,2a2,1a2,0a1,k-1a1,k-2a1,k-3…a1,2a1,1a1,0a0,k-2a0,k-3…a0,2a0,1a0,0


Dar fiecare grupă de câte k cifre (coeficienţi) din această reprezentare constituie pur şi simplu reprezentarea în baza b1 a cifrelor αi ale numărului N în baza b2 (ne aducem aminte că am avut αi = ai,k-1b1k-1 + ai,k-2b1k-2 + ai,k-3b1k-3 + … + ai,2b12 + ai,1b11 + ai,0b10 =

= ai,k-1ai,k-2ai,k-3…ai,2ai,1ai,0 (b1) ).

Mai exact spus :
an,k-1an,k-2an,k-3…an,2an,1an,0 = αn

an-1,k-1an-1,k-2an-1,k-3…an-1,2an-1,1an-1,0 = αn-1

an-2,k-1an-2,k-2an-2,k-3…an-2,2an-2,1an-2,0 = αn-2

a2,k-1a2,k-2a2,k-3…a2,2a2,1a2,0 = α2



a1,k-1a1,k-2a1,k-3…a1,2a1,1a1,0 = α1

a0,k-1a0,k-2a0,k-3…a0,2a0,1a0,0 = α0


Acest rezultat ne sugerează metoda de trecere a numărului natural N din baza b2 în baza b1 în cazul b2=b1k :

Se exprimă toţi coeficienţii (cifrele) numărului N din baza b2 pe câte exact k cifre în baza b1; simpla înşiruire a acestor cifre (în ordinea în care au apărut) reprezintă numărul N în baza b­1; eventualele zerouri care apar la stânga numărului se neglijează.


Reciproc, pentru trecerea numărului N din baza b1 în baza b2=b1k :
Se despart coeficienţii (cifrele) numărului N din baza b1, începând de la dreapta spre stânga, în grupe de câte exact k cifre; se înlocuieşte fiecare astfel de grupe prin cifra corespunzătoare din baza b2; dacă în urma despărţirii ultima grupă din stânga are mai puţin de k cifre, se completează la stânga cu numărul necesar de zerouri; simpla înşiruire a acestor cifre (în ordinea în care au rezultat) reprezintă numărul N scris în baza b2.
Câteva exemple vor ilustra procedeul. Pentru aceasta, vom relua rezultatele obţinute deja la trecerea numărului N = 20913(10) în diverse baze de numeraţie :
N = 209319(10) =

= 110011000110100111(2) =

= 101122010120(3) =

= 303012213(4) =

= 23144234(5) =

= 4253023(6) =

= 1531155(7) =

= 630647(8) =

= 348116(9) =

= 209319(10) =

= 1332A0(11) =

= A1173(12) =

= 74376(13) =

= 563D5(14) =

= 42049(15) =

= 331A7(16) =

= 28A47(17) =

= 1HG0F(18) =

= 1B9FF(19) =

= 1635J(20)


Dintre bazele în care am exprimat numărul dat, câteva respectă condiţia necesară (b2=b1k) pentru aplicarea acestei metode simplificate de trecere dintr-o bază în alta (de exemplu 4 şi 2, 8 şi 2, 16 şi 2, 16 şi 4, 9 şi 3).

Să luăm, mai întâi, primele 4 perechi şi să exemplificăm cu ajutorul lor metoda.

Pentru aceasta, vom da mai întâi corespondenţa cifrelor din sistemul zecimal în bazele de numeraţie 2 (sistemul binar), 4 (fără importanţă practică; introdus doar pentru a exemplifica metoda), 8 (sistemul octal) şi 16 (sistemul hexagesimal) – cu alte cuvinte, vom număra în aceste baze) :
Baza: 10 2 4 8 16

0 0000 00 00 0

1 0001 01 01 1

2 0010 02 02 2

3 0011 03 03 3

4 0100 10 04 4

5 0101 11 05 5

6 0110 12 06 6

7 0111 13 07 7

8 1000 20 10 8

9 1001 21 11 9

10 1010 22 12 A

11 1011 23 13 B

12 1100 30 14 C

13 1101 31 15 D

14 1110 32 16 E

15 1111 33 17 F
Exemplul 1: trecerea reciprocă dintre bazele 2 şi 4
b1 = 2; b2 = 4 = 22; rezultă k = 2 (vom lucra deci pe câte 2 cifre în binar)

N = 209319(10) = 110011000110100111(2)

Despărţim reprezentarea binară în grupe de câte 2 cifre (de la dreapta la stânga) :

11 00 11 00 01 10 10 01 11

şi reprezentăm fiecare grupă pe câte o singură cifră în baza 4 (pentru că am făcut un tabel de corespondenţe, putem să citim asta direct din tabel) ; obţinem succesiunea de cifre

303012213

Se observă cu uşurinţă că am obţinut chiar reprezentarea numărului N în baza 4.

Procedeul poate fi aplicat şi invers :

În reprezentarea numărului N în baza 4

N = 209319(10) = 303012213(4)

înlocuim fircare cifră din baza 4 prin reprezentarea ei prin grupe de două cifre în baza 2 (binar) şi obţinem direct reprezentarea întregului număr N în baza 2 (binar).

Exemplul 2: trecerea reciprocă dintre bazele 2 şi 8


b1 = 2; b2 = 8 = 23; rezultă k = 3 (vom lucra deci pe câte 3 cifre în binar)

N = 209319(10) = 110011000110100111(2)

Despărţim reprezentarea binară în grupe de câte 3 cifre (de la dreapta la stânga):

110 011 000 110 100 111

şi reprezentăm fiecare grupă pe câte o singură cifră în baza 8 (pentru că am făcut un tabel de corespondenţe, putem să citim asta direct din tabel) ; obţinem succesiunea de cifre

630647


Se observă cu uşurinţă că am obţinut chiar reprezentarea numărului N în baza 8.

Procedeul poate fi aplicat şi invers :

În reprezentarea numărului N în baza 4

N = 209319(10) = 630647­(8)

înlocuim fircare cifră din baza 8 prin reprezentarea ei prin grupe de trei cifre în baza 2 (binar) şi obţinem direct reprezentarea întregului număr N în baza 2 (binar).
Exemplul 3: trecerea reciprocă dintre bazele 2 şi 16
b1 = 2; b2 = 16 = 24; rezultă k = 4 (vom lucra deci pe câte 4 cifre în binar)

N = 209319(10) = 110011000110100111(2)

Despărţim reprezentarea binară în grupe de câte 2 cifre (de la dreapta la stânga):

11 0011 0001 1010 0111

Datorită faptului că în prima grupă din stânga am obţinut doar două cifre, completăm prima grupă cu două cifre de zero la stânga (ceea ce, evident, nu modifică valoarea)

0011 0011 0001 1010 0111

şi reprezentăm fiecare grupă pe câte o singură cifră în baza 8 (pentru că am făcut un tabel de corespondenţe, putem să citim asta direct din tabel) ; obţinem succesiunea de cifre

331A7


Se observă cu uşurinţă că am obţinut chiar reprezentarea numărului N în baza 16.

Procedeul poate fi aplicat şi invers :

În reprezentarea numărului N în baza 16

N = 209319(10) = 331A7(16)

înlocuim fircare cifră din baza 16 prin reprezentarea ei prin grupe de patru cifre în baza 2 (binar) şi obţinem direct reprezentarea întregului număr N în baza 2 (binar).
Exemplul 4: trecerea reciprocă dintre bazele 4 şi 16
b1 = 4; b2 = 16 = 42; rezultă k = 2 (vom lucra deci pe câte 2 cifre în baza 4)

N = 209319(10) = 303012213(4)

Despărţim reprezentarea în baza 4 în grupe de câte 2 cifre (de la dreapta la stânga) :

3 03 01 22 13

Datorită faptului că în prima grupă din stânga am obţinut doar o cifră, completăm prima grupă cu o cifră de zero la stânga (ceea ce, evident, nu modifică valoarea)

şi reprezentăm fiecare grupă pe câte o singură cifră în baza 16 (pentru că am făcut un tabel de corespondenţe, putem să citim asta direct din tabel) ; obţinem succesiunea de cifre

331A7

Se observă cu uşurinţă că am obţinut chiar reprezentarea numărului N în baza 16.



Procedeul poate fi aplicat şi invers :

În reprezentarea numărului N în baza 16

N = 209319(10) = 331A7(16)

înlocuim fircare cifră din baza 16 prin reprezentarea ei prin grupe de două cifre în baza 4 (binar) şi obţinem direct reprezentarea întregului număr N în baza 4.

Exemplul 5: trecerea reciprocă dintre bazele 3 şi 9
Pentru ultima pereche de baze dintre cele pe care ni le-am propus, vom scrie mai întâi corespondenţa dintre bazele 10, 3 şi 9 (cu alte cuvinte, vom număra în aceste baze) :
Baza 10 3 9
0 00 0

1 01 1


2 02 2

3 10 3


4 11 4

5 12 5


6 20 6

7 21 7


8 22 8
b1 = 3; b2 = 9 = 32; rezultă k = 2 (vom lucra deci pe câte 2 cifre în baza 3)

N = 209319(10) = 101122010120(3)

Despărţim reprezentarea binară în grupe de câte 2 cifre (de la dreapta la stânga) :

10 11 22 01 01 20


şi reprezentăm fiecare grupă pe câte o singură cifră în baza 9 (pentru că am făcut un tabel de corespondenţe, putem să citim asta direct din tabel) ; obţinem succesiunea de cifre

348116


Se observă cu uşurinţă că am obţinut chiar reprezentarea numărului N în baza 9.

Procedeul poate fi aplicat şi invers :

În reprezentarea numărului N în baza 9

N = 209319(10) = 348116(9)

înlocuim fircare cifră din baza 9 prin reprezentarea ei prin grupe de două cifre în baza 3 şi obţinem direct reprezentarea întregului număr N în baza 3.
În tot ceea ce am lucrat până acum în cuprinsul acestui capitol, referitor la bazele de numeraţie, ne-am ocupat doar de reprezentarea numerelor naturale.

Este de la sine înţeles că în calculator vom întâlni şi alte tipuri de numere ; reprezentării acestor tipuri de numere le-am rezervat capitole speciale ; momentan ne vom ocupa de reprezentarea numerelor fracţionare într-o bază oarecare, urmând ca diferitele moduri de reprezentare a informaţiei numerice şi nenumerice să fie tratate ulterior.




    1. Reprezentare numerelor fractionare intr-o baza b (oarecare)

Să pornim tot de la un exemplu concret:


Q = 209319,6875
ceea ce înseamnă, evident,
Q = 2  105 + 0  104 + 9  103 + 3  102 + 1  101 + 9  100 +

+ 6  10-1 + 8  10-2 + 7  10-3 + 5  10-4

în care apar şi puterile negative ale lui 10.
Este uşor de generalizat acest lucru pentru reprezentarea unui număr fracţionar Q într-o bază b oarecare :
Q = anbn + an-1bn-1 + … + a2b2 + a1+b1 + a0b0 +

+ a-1b-1 + a-2b-2 + a-3b-3 + … + a-m+b-m

= anan-1an-2…a2a1a0 , a-1a-2a-3…a-m (b)

în care virgula (sau punctul, în sistemul anglo-saxon) desparte partea întreagă de partea fracţionară.

Putem, evident, descompune numărul fracţionar Q în cele două componente ale sale – componenta întreagă şi componenta fracţionară
Q = Q1 + Q2
unde
Q1 = anbn + an-1bn-1 + … + a2b2 + a1+b1 + a0b0 = anan-1an-2…a2a1a0 (b)
Q2 = a-1b-1 + a-2b-2 + a-3b-3 + … + a-m+b-m = 0, a-1a-2a-3…a-m (b)
Având în vedere că pentru partea înteagă dispunem deja de metode de trecere dintr-o bază în alta, rezultă că pentru a trece numărul Q dintr-o bază în alta mai avem nevoie doar de metode prin care să trecem un număr fracţionar fără parte întreagă în baza dorită.

Pentru a trece un astfel de număr dintr-o bază b oarecare în baza 10, e sufficient să aplicăm formula polinomială.


Exemplu
Fie Q = 0,312(4)

Conform formulei, vom avea

Q = 3  4-1 + 1  4-2 + 2  4-3 = 3  0,25 + 1  0,625 + 2  0,05625 =

= 0,75 + 0,625 + 0,03125 = 0,84375(4)


Pentru a trece numărul Qf din baza 10 într-o bază b oarecare, observăm următoarele :
Qf  b = (a-1b-1 + a-2b-2 + a-3b-3 + … + a-m+b-m = 0, a-1a-2a-3…a-m)  b =

= a-1 + a-2b-1 + a-3b-2 + … + a-m+b-m+1 = a-1 + Qf1


adică, prin înmulţirea numărului de la care am pornit cu baza b, se obţine “trecerea” în faţa virgulei a coeficientului a-1 (prima cifră din reprezentarea în baza b a numărului strict fracţionar Qf.

Neglijând acum această cifră şi repetând înmulţirea cu b, pentru numărul Qf1 obţinut la pasul anterior, vom obţine cea de-a doua cifră din reprezenterea numărului iniţial Qf – cifra a-2, şi aşa mai departe. Procedeul se opreşte când partea fracţionară devine zero, sau atunci când considerăm că am obţinut numărul cu precizia dorită.


Să aplicăm regula obţinută pe un exemplu: să trecem numărul fracţionar

Qf = 0,6875(10) în baza 2.

0,6875  2 = 1,375 a-1 = 1

0,375  2 = 0,75 a-2­ = 0

0,75  2 = 1,5 a-3 = 1

0,5  2 = 1 a­-4 = 1


şi, deoarece partea fracţionară a devenit egala cu zero, procedeul s-a încheiat ; am obţinut, deci :
Qf = 0,6875(10) = 0,1011(2)
Verificare :
0,1011(2) = 1 2-1 + 0  2-2 + 1  2-3 + 1  2-4 =

= 1  0,5 + 0  0,25 + 1  0,125 + 1  0,0625 =

= 0,6875(10)
Vom obţine atunci :
Q = 209319,6875(10) = 110011000110100111,1011(2)
Observaţie importantă 1 :
Dacă un număr fracţionar se poate reprezenta cu ajutorul unui număr finit de cifre (matematic exprimat : fără perioadă) într-o bază b1, aceasta nu înseamnă că el se va putea reprezenta tot cu ajutorul unui număr finit de cifre în orice altă bază b2.

Deci, proprietatea de periodicitate a unui număr depinde de baza în care este exprimat.


Exemplul 1 :
Fie numărul 0,12(3). După cum se vede, el se reprezintă cu ajutorul a doar două cifre după virgulă, în baza 3. Să-l trecem în baza 10. Conform formulei polinomiale :
0,12(3) = 1  3-1 + 2  3-2 = 1  1/3 +2  1/9 = 5/9 = 0,55555... = 0,(5)(10)
deci am obţinut un număr periodic în baza 10.
Exemplul 2 :
Fie numărul 0,7(10). După cum se vede, el se reprezintă cu ajutorul unei singure cifre după virgulă, în baza 10. Să-l trecem în baza 2. Conform metodei pe care o cunoaştem, aceasta se face prin înmulţirea succesivă cu 2.
pasul 1 0,7  2 = 1,4 a-1 = 1 păstrăm 0,4

pasul 2 0,4  2 = 0,8 a-2 = 0 păstrăm 0,8

pasul 3 0,8  2 = 1,6 a-3 = 1 păstrăm 0,6

pasul 4 0,6  2 = 1,2 a-4 = 1 păstrăm 0,2

pasul 5 0,2  2 = 0,4 a-5 = 0 păstrăm 0,4

pasul 6 0,4  2 = 1,8 a-6 = 1 păstrăm 0,8


şi este uşor de observat că de aici înainte se vor repeta la nesfârşit paşii 2, 3, 4, 5 şi 6, procesul neterminându-se niciodată.

Vom avea deci :


0,7(10) = 0,101100011000110001100... = 0,1(01100)(2) ,

adică un număr periodic în baza 2.



Observaţie importantă 2 :
Metodele de trecere reciprocă între două baze b1 şi b2 legate între ele printr-o relaţie de tipul b2 = b1k vor rămâne valabile, având grijă doar să despărţim în grupe de câte k cifre de la virgulă spre stânga, pentru partea întreagă, respectiv spre dreapta, pentru partea fracţionară. Dacă, pentru partea întreagă, ultima grupă de cifre pe care le-am despărţit (cea mai din stânga) este formată din mai puţin de k cifre, se completează la stânga cu numărul necesar de zerouri.

Dacă, pentru partea fracţionară, ultima grupă de cifre pe care le-am despărţit (cea mai din dreapta) este formată din mai puţin de k cifre, se completează la dreapta cu numărul necesar de zerouri.


Exemplu  :
Să trecem numărul 209319,6875(10) în baza 16, ţinând cont că avem deja reprezentarea sa în baza 2. deoarece 16 = 24, înseamnă că k = 4, deci trebuie să despărţim cifrele din reprezentarea în bază 2 în grupe de câte 4.
209319,6875(10) = 110011000110100111,1011(2) =

= 11 0011 0001 1010 0111 , 1011 =

= 0011 0011 0001 1010 0111 , 1011 =

= 331A7,B(16)


unde am completat grupa din stânga cu două zerouri (la stânga), ceea ce, evident, nu modifică valoarea numărului.


Dan Gogoncea: 1. Sisteme şi Baze de numeraţie Page


Yüklə 145,95 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin