Documente Academic
Documente Profesional
Documente Cultură
Exemplu:
2121(3)=.......(10)
Teorie
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).
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
Facem proba
34 5
4 6 5
1 1 5
1 0
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
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