Função para escrita de um número em notação binária através de recursão
Publicado por Perfil removido (última atualização em 17/04/2012)
[ Hits: 5.756 ]
Este programa traz um função recursiva que escreve na tela em base 2 (base binária) um número fornecido previamente.
No programa ela é usada em teste para os números de 1 a 100.
Ele adentra em si mesmo até encontrar o caso-limite, que é a chamada para zero.
Depois ele retorna das chamadas escrevendo o que foi encontrado. Deste modo ele não imprime o número ao contrário.
Há um tratamento de exceção no início através de uma variável estática interna à função usada como "flag".
Ela sinaliza se o zero encontrado foi fornecida na primeira chamada ou se é um caso final onde o número foi inteiramente dividido.
Se for um caso inicial, ele imprime este zero. Senão ele retorna das chamadas.
Isso permite que nos outros casos não sejam escritos zeros no início dos números.
Como sempre, aguardo por bugs.
#include <stdio.h> #define LIMITE 100 void bin (int n) { static int flag=0; if (!n) { if (!flag) putc('0', stdout); else flag=0; return; } flag=1; bin(n>>1); putc('0'+(n&1), stdout); return; } int main (void) { int i; for (i=0; i<=LIMITE; i++) { printf ("%d\t",i); bin (i); putc('\n', stdout); } return 0; }
Ordenação de vetor pelo método Bubblesort
Cálulo de expressão do 2 grau ( Baskara )
Calculadora simples com uso de switch , funções e #define
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (2)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)