👤

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 !


Răspuns :

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;

Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de sprijin suplimentar, vă încurajăm să ne contactați. Revenirea dumneavoastră ne bucură, iar dacă v-a plăcut, nu uitați să adăugați site-ul nostru la favorite!


ID Teachingsy: Alte intrebari