Conversão de Decimal para Binário
Publicado por marlon luis petry 31/05/2005
[ Hits: 31.109 ]
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);
}
Google Code Jam 2010 - Africa Classification Round
Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"
Controle de estoque com listas
Derrubando SyGate Profissional Firewall !
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Pergunta: Meu teclado não está respondendo direito como e consertar? (1)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)









