Sunteți pe pagina 1din 3

Conversia numerelor din baza q in baza 10

Prof. Alin Stefanuca


Fie x un număr scris in baza q, x ș q date. Se cere transformarea lui x in baza 10.

Exemplu:

Se cere aflarea scrierii în baza 10 a numărului 2121 scris în baza 3

2121(3)=.......(10)

Teorie

Pentru a reține algoritmul ne gândim la cum putem scrie un număr în baza 10

Exemplu: Putem scrie numărul 24765 astfel:

2 4 7 6 5 =5*100+6*101+7*102+4*103+2*104
43210

Scrierea este astfel pentru că numărul este scris în baza 10. La realizarea calcului se observă că expresia
5*100+6*101+7*102+4*103+2*104 are ca rezultat valoarea 24765.

Similar este și algoritmul de conversie doar că se înlocuiește baza 10 cu baza q în care este scris numărul. Astfel:

21 21 (3)=1*30+2*31+1*32+2*33 = 1*1+2*3+1*9+2*27=1+6+9+54=70(10)
3210

Deci 2121(3)=70(10).

Putem face proba

70 3
1 23 3
2 7 3
1 2 3
2 0

Așadar conversia numărului în baza 10 se face calculând suma din cifra*bazapoziția cifrei

Alte exemple:

1 14 (5)=4*50+1*51+1*52 = 4*1+1*5+1*25=4+5+25=34(10)
210

Deci 114(5) = 34(10)

Facem proba

34 5
4 6 5
1 1 5
1 0

10 02 (3)=2*30+0*31+0*32 +1*32= 2*1+0+0+1*27=2+27=29(10)


3210

Deci 1002(5) = 29(10)


Facem proba

29 3
2 9 3
0 3 3
0 1 3
1 0

1 01 11 (2)=1*20+1*21+1*22+0*23+1*24= 1*1+1*2+1*4+0*8+1*16=1+2+4+0+16=23(10)
43210

Deci 10111(5) = 23(10). Faceți singuri proba pentru a verifica acest calcul.

Algoritm
Variabile
x – numărul ce urmează a fi convertit
q – baza în care se realizează conversia
n – reprezentarea lui n în baza 10 (se calculează o suma punând ca termen al sumei cifra*qpozitia cifrei).
p – calculăm valoarea bazapozitia cifrei pentru fiecare termen al sumei.
Descriere: Citim x și q. Parcurgem cifrele lui x punem la fiecare pas in suma n expresia cifra* qpozitia cifrei.
Pentru a calcula qpozitia cifrei înmulțim la fiecare pas p cu baza q, inițial p este 1. Repetăm algoritmul pentru
cât până când terminăm cifrele lui x (x devine 0)

Algoritm
Implementare C++ a algoritmul de conversie a unui număr n din baza 10 în baza q

Implementare C++ condensată a algoritmul de conversie a unui număr n din baza 10 în


baza q

Exerciții
1. Convertiți din baza cerută în baza 10 numerele de mai jos. Faceți proba pentru fiecare număr
calculat:
a. 1010(2)=.........(10)
b. 102(3)=.........(10)
c. 11001(2)=.........(10)
d. 13(5)=.........(10)
e. 120(3)=.........(10)
f. 10110(2)=.........(10)
g. 103(4)=.........(10)
h. 25(7)=.........(10)
i. 221(3)=.........(10)
j. 213(4)=.........(10)
k. 110(2)=........(10)
l. 21(8)=.........(10)
m. 104(5)=.........(10)
n. 211(3)=.........(10)
2. Implementați algoritmul de conversie a unui număr din baza q în baza 10. Testați apoi algoritmul
pentru următoarele numere:
a. Intrare: x=11010, q=2 -> Ieșire:26
b. Ieșire: x=1210 q=3 -> Ieșire:48
c. Ieșire: x=1132, q=5 -> Ieșire:167
d. Ieșire: x=213, q=4 -> Ieșire:39

S-ar putea să vă placă și