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)

FICHA DE REGISTRO DE EMPREGADO, RE, REGISTRO DE FUNCIONÁRIOS MODELO .DOC

FICHA DE REGISTRO DE EMPREGADO. Editável em Word podendo ser impresso em qualquer tipo de papel. Ideal para ser usado em impressora laser ou jato de tinta. Download para ficha de registro.