Buscar

Conversao_Sistemas_Binarios_em_C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

#include<stdio.h>
#include<string.h>
#include<math.h>
int main () {
char hexa[16] = "0123456789ABCDEF";
char octa[8] = "01234567";
char binario[2] = "01";
int opcao,tamanho=0,resultado=0,valor_auxiliar=0,valor_convertido=0,posicao;
char valor [16];
int contador,cont_potencia,numero,i;
char vetor[50];
while (opcao!=13) {
printf ("\n Digite a opcao de conversao:\n");
printf (" 1 - Decimal para hexadecimal:\n");
printf (" 2 - Decimal para octal:\n");
printf (" 3 - Decimal para binario:\n");
printf (" 4 - Binario para decimal:\n");
printf (" 5 - Binario para octal:\n");
printf (" 6 - Binario para hexadecimal:\n");
printf (" 7 - Octal para decimal:\n");
printf (" 8 - Octal para binario:\n");
printf (" 9 - Octal para hexadecimal:\n");
printf (" 10 - Hexadecimal para decimal:\n");
printf (" 11 - Hexadecimal para octal:\n");
printf (" 12 - Hexadecimal para binario:\n");
printf (" 13 - Sair!\n");
scanf ("%d",&opcao);
getchar ();
switch(opcao) {
case 1: system("cls");
 printf ("Decimal para hexadecimal:\n");
 printf ("Digite o numero para ser convertido:\n");
 scanf ("%d",&numero);
 contador = 0;
 while (numero>0) {
 valor_auxiliar = numero%16;
 resultado = numero/16;
 numero = resultado;
 valor[contador] = hexa[valor_auxiliar];
 contador++;
 }
 printf ("Numero convertido:");
 for (i=contador-1;i>=0;i--) {
 printf ("%c",valor [i]);
 }
 break;
case 2: system("cls");
 printf ("Decimal para octal:\n");
 printf ("Digite o numero para ser convertido:\n");
 scanf ("%d",&numero);
 contador = 0;
 while (numero>0) {
 valor_auxiliar = numero%8;
 vetor[contador] =valor_auxiliar;
 resultado = numero/8;
 numero = resultado;
 contador++;
 }
 printf ("Numero convertido:");
 for (i=contador-1;i>=0;i--) {
 printf ("%d",vetor[i]);
 }
 break;
 case 3: system ("cls");
 printf ("Decimal para binario:\n");
 printf ("Digite o numero para ser convertido:\n");
 scanf ("%d",&numero);
 contador = 0;
 while (numero>0) {
 valor_auxiliar = numero%2;
 vetor[contador] = valor_auxiliar;
 resultado = numero/2;
 numero = resultado;
 contador++;
 }
 printf ("Numero convertido:");
 for (i=contador-1;i>=0;i--) {
 printf ("%d",vetor[i]);
 }
 break;
 case 4: system ("cls");
 printf ("Binario para decimal:\n");
 printf ("Digite o numero para ser convertido:");
 gets (valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<2; contador++)
 {
 if(valor[posicao] == binario[contador])
 {
 valor_auxiliar= pow(2,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 printf("Numero convertido: %d",valor_convertido);
 break;
 case 5: system ("cls");
 printf ("Binario para octal:\n");
 printf ("Digite o numero a ser convertido:");
 gets (valor);
 tamanho = strlen(valor);
 cont_potencia = tamanho-1;
 posicao = 0;
 valor_convertido = 0;
 do
 {
 for (contador=0;contador<2;contador++)
 {
 if (valor[contador] == binario[posicao]);
 {
 valor_auxiliar = pow(2,cont_potencia);
 valor_auxiliar = valor_auxiliar*contador;
 valor_convertido = valor_convertido + valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while(posicao<tamanho);
 numero = valor_convertido;
 contador=0;
 while(numero>0)
 {
 valor_auxiliar = numero%8;
 vetor[contador]=valor_auxiliar;
 contador++;
 resultado=numero/8;
 numero = resultado;
 }
 printf ("Numero convertido:");
 for (i=contador-1;i>=0;i--) {
 printf ("%d",vetor[i]);
 }
 break;
 case 6: system ("cls");
 printf ("Binario para hexadecimal:\n");
 printf ("Digite o numero a ser convertido:");
 gets(valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<2; contador++)
 {
 if(valor[posicao] == binario[contador])
 {
 valor_auxiliar= pow(2,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 numero=valor_convertido;
 contador=0;
 while (numero>0)
 {
 valor_auxiliar=numero%16;
 resultado=numero/16;
 numero=resultado;
 valor[contador]= hexa[valor_auxiliar];
 contador++;
 }
 printf ("numero convertido:");
 for (i=contador-1; i>=0; i--)
 {
 printf("%c",valor[i]);
 }
 break;
 case 7: system ("cls");
 printf ("Converter Octal para decimal:\n");
 printf ("Digite o numero a ser convertido:");
 gets(valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<8; contador++)
 {
 if(valor[posicao] == octa[contador])
 {
 valor_auxiliar= pow(8,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 printf("Numero convertido: %d",valor_convertido);
 break;
 case 8: system ("cls");
 printf ("Octal para binario:\n");
 printf ("Digite o numero a ser convertido:\n");
 gets (valor);
 tamanho = strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 do
 {
 for (contador=0; contador<8; contador++)
 {
 if(valor[posicao] == octa[contador])
 {
 valor_auxiliar= pow(8,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 numero = valor_convertido;
 contador=0;
 while (numero>0)
 {
 valor_auxiliar=numero%2;vetor[contador]=valor_auxiliar;
 contador++;
 resultado=numero/2;
 numero=resultado;
 valor[contador]= hexa[valor_auxiliar];
 }
 printf ("numero convertido:");
 for (i=contador-1; i>=0; i--)
 {
 printf("%d",vetor[i]);
 }
 break;
 case 9:system("cls");
 printf ("Converter octal para hexadecimal:\n");
 printf ("Digite o numero a ser convertido:");
 gets(valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<8; contador++)
 {
 if(valor[posicao] == octa[contador])
 {
 valor_auxiliar= pow(8,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 numero = valor_convertido;
 contador=0;
 while (numero>0)
 {
 valor_auxiliar=numero%16;
 resultado=numero/16;
 numero=resultado;
 valor[contador]= hexa[valor_auxiliar];
 contador++;
 }
 printf ("numero convertido:");
 for (i=contador-1; i>=0; i--)
 {
 printf("%c",valor[i]);
 }
 break;
 case 10: system ("cls");
 printf ("Converter hexadecimal para decimal:\n\n");
 printf ("Digite o numero a ser convertido:\n");
 gets(valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<16; contador++)
 {
 if(valor[posicao] == hexa[contador])
 {
 valor_auxiliar= pow(16,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 printf("%d",valor_convertido);
 break;
 case 11: system ("cls");
 printf ("Hexadecimal para octal:\n");
 printf ("Digite o numero para ser convertido:");
 gets (valor);
 tamanho = strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<16; contador++)
 {
 if(valor[posicao] == hexa[contador])
 {
 valor_auxiliar= pow(16,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 numero = valor_convertido;
 contador=0;
 while (numero>0)
 {
 valor_auxiliar=numero%8;
 vetor[contador]=valor_auxiliar;
 resultado=numero/8;
 numero=resultado;
 contador++;
 }
 printf ("Numero convertido:");
 for (i=contador-1; i>=0; i--)
 {
 printf("%d",vetor[i]);
 }
 break;
 case 12: system("cls");
 printf ("Hexadecimal para binario:\n");
 printf ("Digite o numero a ser convertido:");
 gets(valor);
 tamanho=strlen(valor);
 posicao=0;
 cont_potencia=tamanho-1;
 valor_convertido=0;
 do
 {
 for (contador=0; contador<16; contador++)
 {
 if(valor[posicao] == hexa[contador])
 {
 valor_auxiliar= pow(16,cont_potencia);
 valor_auxiliar=valor_auxiliar*contador;
 valor_convertido=valor_convertido+valor_auxiliar;
 }
 }
 cont_potencia--;
 posicao++;
 }
 while (posicao<tamanho);
 numero = valor_convertido;
 contador=0;
 while (numero>0)
 {
 valor_auxiliar=numero%2;
 vetor[contador]=valor_auxiliar;
 contador++;
 resultado=numero/2;
 numero=resultado;
 }
 printf ("Numero convertido:");
 for (i=contador-1; i>=0; i--)
 {
 printf("%d",vetor[i]);
 }
 break;
 case 13: system ("cls");
 printf ("Opcao Sair!\n\nFim do programa:");
 break;
 default: system ("cls");
 printf ("Opcao de conversao invalida!!!\n\nDigite uma opcao valida:\n");
 }
}
}

Outros materiais