Boa tarde a todos. Bom, tenho que fazer um programa conversor de bases e estou com duvida nesse seguinte codigo
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
void baseb(int b, string fi, unsigned int nb, string &f){
int p = nb % b; nb = nb / b;
if ( nb > 0) baseb(b, fi, nb, f);
f=f+fi[p];
}
int main(){
int b, nb;
cin>>b;
cin>>nb;
string fi = "0123456789ABCDEF", f = "";
baseb(b, fi, nb, f);
cout << endl;
cout << "Decimal number "<< nb <<" in Base-"<< b << " is "<< f << endl;
// Result: Decimal number 2008 in Base-16 is 7D8
cin.get();
cin>>b;
return 0;
}
No procedimento baseb, o que exatamente significa f = f+fi[p]? Como na conversao para hexadecimal ele consegue jogar exatamente as letras no lugar dos numeros? Isso é alguma função pronta? pois meu professor proibiu de usar funcoes como hex ou outras prontas.
Pergunta
Rycco
Boa tarde a todos. Bom, tenho que fazer um programa conversor de bases e estou com duvida nesse seguinte codigo
No procedimento baseb, o que exatamente significa f = f+fi[p]? Como na conversao para hexadecimal ele consegue jogar exatamente as letras no lugar dos numeros? Isso é alguma função pronta? pois meu professor proibiu de usar funcoes como hex ou outras prontas.
Obrigado
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.