Conversão de Base Decimal para Hexadecimal
Então, vou postar aqui um programinha que faz conversão de base. Estou explorando agora o C/C++ e me familiarizando com a sintaxe da linguagem.
Estou também tendo alguns probleminhas para tratamento de String, que em C não é nada intuitivo como em outras linguagens que já mexo. Más segue abaixo o fonte do programa, no final só falta inverter agora o resultado da conversão e consertar o problemas dos caracteres sobrando.
Deve ter uma forma mais simples de se fazer, más estou começando com C agora.
/*
Autor: Josimar Batista Gomes
Descrição: Programa que converte numero decimal em hexadecimal
Data: 12-08-2014
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int numeroEntrada, q, resto;
char exa[10], getInt[10];
printf("Informe um numero para converter para EXADECIMAL\n\n");
printf("NUMERO => ");
scanf("%i", &numeroEntrada);
do{
q = numeroEntrada / 16;
resto = numeroEntrada % 16;
numeroEntrada /= 16;
switch(resto){
case 10:
strcat(exa, "A");
break;
case 11:
strcat(exa, "B");
break;
case 12:
strcat(exa, "C");
break;
case 13:
strcat(exa, "D");
break;
case 14:
strcat(exa, "E");
break;
case 15:
strcat(exa, "F");
break;
case 16:
strcat(exa, "G");
break;
default:
sprintf(getInt, "%i", resto);
strcat(exa, getInt);
}
}while(q != 0);
printf("%s", exa);
return 0;
}
Ainda falta muito para funcionar como se deve. Não testei muito e encontrei alguns erros, más creio que a lógica segue por aí.
Discussão (3)
Carregando comentários...