Projeto Binário

Bom, como nosso primeiro trabalho, queríamos um programa que convertesse qualquer número decimal para binário. Depois pensamos, que de acordo com a lógica de conversão de bases era a mesma, expandimos nosso conversor para as demais bases, de binário ate hexadecimal. Utilizamos a linguagem C, e abaixo vai o código fonte da lógica em si.



//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: