Converter número inteiro em binário – C

o código a seguir transforma um número inteiro em um número binário, inserindo cada dígito binário em uma lista simplesmente encadeada.

#include
#include

typedef struct tlista
{
          int n;
          tlista *prox;
};
tlista *lu_insereinicio(tlista *plst, int pn)
{
     tlista *aux;
     aux = (tlista*)malloc(sizeof(tlista));
     aux -> n = pn;
     aux -> prox = plst;
     return aux;
}
void lu_exibelista(tlista *plst)
{
     tlista *aux = plst;
     if (aux == NULL)
        printf("Lista vazia\n");
     else
         while (aux != NULL)
        {
               printf("%d", aux -> n);
               aux = aux -> prox;
        }
}
main()
{
    int n, r;
    tlista *lst = NULL;
    printf("Digite o numero que deseja converter: ");
    scanf("%d", &n);
    while (n > 0)
    {
        r = n%2;
        lst = lu_insereinicio(lst, r);
        n = n / 2;
    }
    lu_exibelista(lst);
    printf("\n");
    system("pause");
}

post originalmente publicado em: truecode.wordpress.com

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s