Pular para o conteúdo principal

Converte numérico para binário, base decimal para base binaria

#include
#define TAM 40
using namespace std;
void empilha(int p[], int &t, int v);
int desempilha(int p[], int &t, int &v);
int main()
{ float n;// para possibilitar a entrada de número maior do que o inteiro permite
int num, resto, pilha[TAM],sinal,topo=-1; //Inicialização da pilha através de topo=-1
system("color 2f");
cout<<"\n##########################################################";
cout<<"\n### ###";
cout<<"\n### Converte Numero da base decimal para base binaria ###";
cout<<"\n### ###";
cout<<"\n##########################################################\n";
cout<<"\nDigite numero positivo ate 2147483520. Qualquer outro, sai: ";
cin>>n;
if(n > 2147483520 || n <-2147483520 font="">
exit(0);//Limita intervalo de inteiro no Dev-Cpp, embora seja maior, mas
else
num=(int)n;//converte real para inteiro
while(num>=0 )
{
do //inicio do trecho que empiha os restos que irão gerar o número binário
{
resto= num%2;
empilha(pilha,topo, resto);
num/=2;
}while(num > 0);//fim do trecho de empilhamneto
cout<<"\nConvertido para binario: ";
sinal=desempilha(pilha, topo,resto);//inicio do trecho que desempilha todos
while(sinal == 1)//os restos que irão exibir o número binário
{
cout<
sinal=desempilha(pilha, topo,resto);
}//Fim do trecho de desempilhamento
topo=-1;
cout<<"\n\nDigite numero positivo ate 2147483520. Qualquer outro, sai: ";
cin>>n; if(n > 2147483520 || n <-2147483520 dev-cpp="" exit="" font="" no="" permitido="" ximio="">
else num=(int)n;
}
cout<<"\n\n";
system("pause");
}
void empilha(int p[], int &t, int v)
{
if(t==TAM-1)//Este teste não é necessário porque já limitei a entrada
cout<<"\nATENCAO. Pilha Cheia\n";// Mantive para usar o mesmo trecho
else
{
t++; //atualiza o topo
p[t]=v; // pilha recebe valor
}
}
int desempilha(int p[], int &t, int &v)
{
if(t == -1)
return 0;
else
{
v=p[t];//guarda o valor do topo
t--; //atualiza o topo
return 1;
}
}

Comentários

Postagens mais visitadas deste blog

Excel, Banco de horas, planilha editada, modelo banco de horas em excel!!

Excel, Banco de horas, planilha editada, modelo banco de horas em excel!! Download para Banco de Horas!

EXCEL, DEMONSTRATIVO DE RESULTADOS, PLANILHA

DEMONSTRTRATIVO DE RESULTADOS .XLS Download para demonstrativo de resultados. para tomar as decisões mais importantes do seu negocio é preciso que você tenha algumas informações importantes, uma delas é rentabilidade de seu negócio, para saber isso é indispensável utilizar a DRE (Demonstração do Resultado do Exercício)

Excel, cronograma geral de execução, planilha 52 semanas, modelo, download, editável, configuração fácil

Excel, cronograma geral de execução, planilha 52 semanas, modelo, download, editável, configuração fácil  Link para download!