Ir para conteúdo
Fórum Script Brasil
  • 0

O que significa [p] aqui...


Rycco

Pergunta

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.

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Não cheguei a analisar o código por completo, mas na classe std::string o operador [] funciona para obter um caractere da string, ou seja, minhastring[0] retorna o primeiro caractere da string, minhastring[1] retorna o segundo, e assim sucessivamente. As letras e números estão contidas na string fi.

Se estiver interessado em estudar conversões numéricas (mais especificamente, de decimal para hexadecimal), veja esse tópico de um desafio que foi feito: http://scriptbrasil.com.br/forum/index.php?showtopic=131429 (os códigos dos participantes foram disponibilizados)

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...