Buscar

Programa e Função em C Converte um numero Decimal para Binario e Binario para Decimal

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

decToBin.cpp
#include<conio2.h>
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#define TF 10
int binToDec(int nBinario[TF],int tl);
int decToBin(int nDec, int nBin[]);
void inverte(int nBinario[TF],int tl, int nBinarioInv[TF]);
int decToBin(int nDec, int nBin[])
{
 int aux=nDec,tl=0,cont=0,nAux,j=0;
 
 while(aux>0) // Converte o decimal e armazena o Bin no vetor.
 {
 nBin[tl]=aux%2;
 aux=aux/2;
 tl++;
 }
 
 for(j=tl-1;j>cont;j--) // Iverte os numeros do vetor
 {
 
 nAux=nBin[j];
 nBin[j]=nBin[cont];
 nBin[cont]=nAux;
 cont++;
 }
 
 
 return tl;
}
int main()
{
 int binario[8];
 int j=0,nAux,cont=0,tl;
 clrscr();
 
 
 
 
 tl=decToBin(1000,binario);
 
 int dec=binToDec(binario,tl);
 
 printf("\n Inicio do vetor %d \n",tl);
 
 for(int i=0;i<tl;i++)
 printf(" [%d]",binario[i]);
 
 printf(" \n Fim do vetor");
 printf(" decimal [%d]",dec);
 getch();
}
int binToDec(int nBinario[TF],int tl)
{
 int expoente = 0;
 int numero;
 int soma = 0;
 int aux[tl];
 inverte(nBinario,tl,aux);
 
 for(int i=0;i<tl;i++)
 {
 numero=(aux[i]);
 soma+=numero*(pow(2,expoente));
 expoente++;
 }
return soma;
}
void inverte(int nBinario[TF], int tl, int nBinarioInv[TF])
{
 for(int i=0; i<tl;i++)
 nBinarioInv[i]=nBinario[tl-1-i];
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais