djabaz Posted December 17, 2009 at 09:06 AM Report #300992 Posted December 17, 2009 at 09:06 AM 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.
KiNgPiTo Posted December 17, 2009 at 10:26 AM Report #301012 Posted December 17, 2009 at 10:26 AM 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; }
djabaz Posted December 21, 2009 at 07:36 PM Author Report #301725 Posted December 21, 2009 at 07:36 PM 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..
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now