Conversão de Decimal para Binário
Publicado por marlon luis petry 31/05/2005
[ Hits: 31.301 ]
Homepage: http://petryx.blogrs.com.br
Este algoritmo converte um número decimal para um número binário através de um pilha dinâmica.
/******************************************************************************
**Author = Marlon Petry
**e-mail = marlonpetry@gmail.com
**Date = 29/05/2005 **Description: Decimal to binary with queue dynamical
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
** ******************************************************************************/
#include <stdio.h>
typedef struct queue
{
int value;
struct queue *prev,*next;
}q;
q *topo = NULL,*base = NULL;
void push(int value)
{
q *aux;
if(topo == NULL)
{
base = (q *) malloc(sizeof(q));
base->value = value;
base->next = NULL;
base->prev = NULL;
topo = base;
}
else
{
aux = (q *) malloc(sizeof(q));
aux->value = value;
aux->prev = topo;
aux->next = NULL;
topo->next = aux;
topo = aux;
}
}
int pop()
{
int value;
if(topo == NULL)
return -1;
else
{
value= topo->value;
topo = topo->prev;
}
return value;
}
void convertDecBin(int dec)
{
int r;
while(dec != 0)
{
r = dec%2;
push(r);
dec = dec/2;
}
}
void show()
{
int flag = 0,b;
printf("\nValue Binary is ");
while(flag != 1)
{
b = pop();
if(b == -1)
flag = 1;
else
printf("%d",b);
}
}
main()
{
int dec;
int ch;
do
{
printf("Inform value DECIMAL\n");
scanf("%d",&dec);
convertDecBin(dec);
show();
puts("\n-1 for finish");
scanf("%d",&ch);
}while(ch != -1);
}
Pilhas Encadeadas Detalhadamente
Jogo Windows Invaders (com gráficos)
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Discos que não instalam o sistema por erro MBR/GPT no Linux
Hospedagem de Mangás com Kavita e Docker para Acesso Remoto via Tailscale
Enquete: qual bloco de código C++ é mais legível? (3)
Instalação do driver Epson L3150 [RESOLVIDO] (5)









