Jump to content

programa em c q converta de binario para decimal..


djabaz

Recommended Posts

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.

Link to comment
Share on other 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;
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.