Se dă un număr n în baza 16. Să se transforme acest număr în baza 10, folosind un subprogram recursiv. C++
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char b16[100];
int nr=0,p=1,i;
cin.get(b16,100); ///numarul in baza 16
for(i=strlen(b16)-1;i>=0;i--)
{
switch(b16[i]) ///
{
case 'A':nr+=10*p;break;
case 'B':nr+=11*p;break;
case 'C':nr+=12*p;break;
case 'D':nr+=13*p;break;
case 'E':nr+=14*p;break;
case 'F':nr+=15*p;break;
default:nr+=int(b16[i]-'0')*p; ///daca este cifra
}
p*=16; ///baza din care se transforma numarul
}
cout<<nr;
return 0;
}
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă