Ir para conteúdo
Fórum Script Brasil
  • 0

fuçoes


joaozinho

Pergunta

Elaborar uma função que converta um número da base 10 pra a base 2. E outra que função que converta da base 2 para base 10.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int contacaracter;
int basedec(char bin[50])
{
    int cont=contacaracter-1;
    int convertidodec=0;
    int ibin[contacaracter];
    for(int i=0;i<contacaracter;i++)
    {
            ibin[i]=bin[i];
            if((ibin[i]!=0)&&(ibin[i]!=1))
            {
                              printf("Valor binario não corresponde ao esperado.\n");
                              return 0;
            }
            else
            {
                convertidodec=convertidodec+ibin[i]*pow(2,cont);
                cont--;
            }
    }
    return convertidodec;
}
char basebin(int dec)
{
     int cont=0;
     int quoc=dec;
     int quoc2=dec;
     for(;;)
     {
            quoc=quoc/2;
            if(quoc==1)
                       break;
            else
                       cont++;
     }
     char convertidobin[cont];
     int resto[cont];
     for(int i=0;i<cont;i++)
     {
             resto[i]=quoc2%2;
             quoc2=quoc2/2;
             
     }
     int a=0;
     for(int i=cont;i>=0;i--)
     {
             convertidobin[a]=resto[i];
             a++;
     }
     return convertidobin[cont];     
}
int main()
{
    int dec;
    char bin[50];
    printf("Digite um valor binario e um valor decimal.\n");
    scanf("%s%i",&bin,&dec);
    contacaracter=strlen(bin);
    printf("Conversao do numero binario %s para decimal = %i\n",bin,basedec(bin[50]));
    printf("Conversao do numero decimal %i para binario = %s\n",dec,basebin(dec));
    system("pause");
    return 0;
}

//tentei fazer desse jeito mas não dar ceto alguém pode me ajudar...?

Editado por joaozinho
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...