Conversão de Decimal para Binário
Publicado por marlon luis petry 31/05/2005
[ Hits: 30.633 ]
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); }
Calculando PI usando série de Leibniz
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Problema Envio email GLPI Versao 10.0.15 (2)
Microfone do meu headset não é recinhecido. Meu notebook é um Acer Asp... (9)
redirecionando saida de comando touch para o AWK[AJUDA] (6)