Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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
Postado

Cara o que é isso?

12 minutos atrás, devair1010 disse:

if(a>255)a=255;

E esse comentario foi por qual motivo?

12 minutos atrás, devair1010 disse:

/*printf("%c",op[j]); Sleep(500);*/

De resto entendi certinho cara Vlwwwww

  • Amei 1
Postado

@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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!