//Inclusao de bibiliotecas
#include < stdio.h>
#include < conio.h>
#include < math.h>
#include < iostream>
//Declaracao de funcoes
void calculo(long int N,long int base);
//MAIN
int main()
{
//Declaracao de variaveis locais
long int B,num,E,aux,i,bin[100],base;
//Aqui você coloca os comando de entrada para o usuario.
calculo(num, base);
}
void calculo(long int num1,long int base1)
{
long int aux; int B,E,i;
long int bin[100];
aux = num1;
char conve[100];
//Inicializacao de variaveis
B = E = i = 0;
//Contando numero de posicoes do vetor
while (aux != 0)
{
aux = aux/base1;
i++;
}
//Limpando vetor
while (B<100)
{
bin[B++] = 0;
}
//Divisao por 2 e armazenamento do resto
while (E'<'i)
{
bin[E] = num1%base1;
num1 = num1/base1;
switch (bin[E])
{
case 0: conve[E]= '0';
break;
case 1: conve[E]= '1';
break;
case 2: conve[E]= '2';
break;
case 3: conve[E]= '3';
break;
case 4: conve[E]= '4';
break;
case 5: conve[E]= '5';
break;
case 6: conve[E]= '6';
break;
case 7: conve[E]= '7';
break;
case 8: conve[E]= '8';
break;
case 9: conve[E]= '9';
break;
case 10: conve[E]= 'A';
break;
case 11: conve[E]= 'B';
break;
case 12: conve[E]= 'C';
break;
case 13: conve[E]= 'D';
break;
case 14: conve[E]= 'E';
break;
case 15: conve[E]= 'F';
break;
}
E++;
}
}
Eu sei que existem lógicas melhores, mas como estamos aprendendo fizemos assim.
Descobrimos depois que %O imprime o valor em octal e que %x ou %X imprime o valor em
hexadecimal, porem nossa lógica converte para bases intermediarias também.
Nenhum comentário:
Postar um comentário