Informatică, întrebare adresată de Andrei9832, 8 ani în urmă

Să se scrie un algoritm care face conversia unui număr dintr-o bază oarecare, în
baza 10.
Si daca puteti sa si explicati.
Va multumesc !


h1900g: Nu stiu cum se face un algoritm, dar un nr. in baza 10 e de 2 litere. Formula e : a•10+b

Răspunsuri la întrebare

Răspuns de davidcretu95
0

Răspuns:

Transformarea din baza b în baza 10

Pentru transformarea numărului ckck−1…c1c0(b) din baza b în baza 10 folosim formula ckck−1…c1c0(b)=ck⋅bk+ck−1⋅bk−1+…+c1⋅b+c0, în care operațiile de adunare, înmulțire și ridicare la putere se fac în baza 10. De fapt această formulă este echivalentă cu reprezentarea zecimală a numerelor, de exemplu: 253(10)=2⋅102+5⋅101+3⋅100.

Exemplu

11000(2)=1⋅24+1⋅23+0⋅22+0⋅21+0⋅20=1⋅16+1⋅8=16+8=24

Algoritmul: Să presupunem că se citește baza b, numărul n de cifre ale numărului în baza b, apoi cifrele. Determinarea reprezentării în baza 10 este:

cin >> b >> n;

int rez = 0;

for(int i =1 ; i <= n ; i ++)

{

   int x;

   cin >> x;

   rez = rez * b + x;

}

cout << rez;


davidcretu95: 253 la puterea 10 = 2 la puterea 10 la a 2-a + 5 * 10 la puterea 1 + 3 * 10 la puterea 0
Alte întrebări interesante