Ir ao conteúdo
  • Cadastre-se

C Algoritmo para Conversão entre bases


MatheusINF

Posts recomendados

Fala galera eu preciso converter Decimais para Binário, porém não consigo sair disso

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

int main()
{
    // VARIAVEIS
    int n,decimal;
    char resultado;

    // INICIO
    printf("Digite um numero em decimal: ");
    scanf("%d",n);
    decimal=n;

    while(n>1){
        if(n%2==0){
            resultado+='0';
        }else{
        resultado+='1';
        }
    n=n/2;
    }

    printf("O numero %d em binario = %s",decimal,resultado);



    return 0;
}

Pra mim é assim que se faz a conversão, olhei alguns na internet e usam algo chamado "itoa" que não tenho nem ideia do que seja, porém o meu está bem próximo dos feitos no Visualg se alguém puder me falar aonde o algoritmo está falhando e o que fazer agradeço :/

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@MatheusINF   não precisa de itoa para isso não ,  precisa usar o comando mod que em c é % , então seu código pode ser assim :

#include <stdio.h>
#include <windows.h>
int main(){
    int a,i,j=7;
    char op[9];
    printf("Digite Um Numero ");
    scanf("%d",&a);
    if(a>255)a=255;
    do{
        if(a % 2 == 0)op[j]='0';
        else op[j]='1';
        /*printf("%c",op[j]);
        Sleep(500);*/
        a/=2;
        j--;
    }while(a>0);
    if(j>=0){
        for(i=j;i>=0;i--)
            op[i]='0';
    }
    op[8]='\0';
    printf("\n\n%s\n\n",op);
    return 0;
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@MatheusINF     isso é para que se for maior que 255 dará erro , então só pode ser até esse valor .

if(a>255)a=255;

é porque coloquei tudo em uma linha só ,  mas deveria ter colocado assim  :

if( a > 255 )
    a = 255;

o comentário era só para ver ele fazendo a conversão , então como já vi , coloquei como comentário .

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...