Conversão de Decimal para Binário
Publicado por marlon luis petry 31/05/2005
[ Hits: 31.180 ]
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);
}
Algoritmo método da Posição Falsa ou Falsa Posição, Newton Raphson e Bisseção em Calculo Númerico
Algoritmo de Fatoração de Fermat (FFA) em C
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









