• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

djabaz

programa em c q converta de binario para decimal..

3 mensagens neste tópico

bons dias pessoal..

tenho q desenvolver um programa q converta de binario para decimal e vise-versa...

ja comecei a realizaro programa

#include <stdio.h>
#include <stdlib.h>

main()
{
    int MENU, VALOR;
    char BASE[10];
    printf("\n\t\t* * Escolha o tipo de Convercao * *\n");
    printf("\t\t*                                 *\n");
    printf("\t\t*     0 - Sair                    *\n");
    printf("\t\t*     1 - Binario to decimal      *\n");
    printf("\t\t*     2 - Decimal to Binario      *\n");
    printf("\t\t*                                 *\n");
    printf("\t\t* * * * * * * * * * * * * * * * * *\n");
    printf("\n\t\t\tA opcao escolhina:");
    scanf("%d",&MENU);
    if(MENU!=0)
    {
         if(MENU==1)
        {
            printf("\nConvercao de Binario para Decimal.\n");
            printf("\nInsira o numero que peretende converter.  ");
            scanf("%d",&VALOR);
        }
        if(MENU==2)
        {
            printf("\nConvercao de Decimal para Binario.");
            printf("\nInsira o numero que peretende converter. ");
            scanf("%d",&VALOR);
            itoa(VALOR,BASE,2); //Converte para base 2
            printf("\nO numero=%d\nConvercao=%s.", VALOR,BASE);
        }
    }
    else
    {
        printf("BYE BYE");
        getchar();
    }

}

ja  mostrei o programa ao meu stor e ele disse q terei de criar uma função para cada parte,  para a a parte de decimal para binario no me preocupa, o que me esta a preo cupar e a parte do codigo de binario para decimal, pois nao estou a conseguir resolver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não sou grande apologista de dar código feito, mas tinha isto na pasta de exercícios e dá para tirares uma noção... (Não tenho nada a confirmar se foi inserido ou não apenas numero binário, mas também penso que só aproveitas a função).

#include <stdio.h>

int conversao(int decimal)

      {

           int total = 0;

           int power = 1;
           
           while(decimal > 0)

           {

                total += decimal % 10 * power;

                decimal = decimal / 10;

                power = power * 2;

                }

           return total;
} 


int main(){

int binario = 0;

printf("O Numero binario - ");
scanf("%d", &binario);

// Aqui metes um itoa e depois um if para ver se so foram inseridos 1's e 0's

printf("O numero decimal - %d", conversao(binario) );

getch();

return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

olha dis-m so uma coisa..

pq q na parte

"total += decimal % 10 * power;" tem q ser %10?

e  q nao consigo preceber essa parte da função

obrigado pela ajuda..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora