Conversão de Decimal para Binário
Publicado por marlon luis petry 31/05/2005
[ Hits: 30.778 ]
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 C/C++ - Analisador de expressões simples
Ponteiro para Ponteiro para Ponteiro
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta