pczfelipe Postado Fevereiro 18, 2018 Denunciar Share Postado Fevereiro 18, 2018 Meu programa para converter decimal para binario ficou assim, não estou conseguindo entender muito bem recursão int main(){ int n; scanf("%d", &n); printf("%d", bin(n)); } int bin(int num){ if(num==1){ return 1; } else{ printf("%d",num%2); return bin(num/2); } } porem assim ele imprime o numero binario ao contario, ao invez de imprimir por exemblo 1010 ele imprime 0101. Gostaria de saber o por que, e como corrigir e também entender porque o codigo abaixo funciona if(num==1){ return 1; } else{ return bin(num/2)*10+num%2; } OBRIGADO! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
pczfelipe
Meu programa para converter decimal para binario ficou assim, não estou conseguindo entender muito bem recursão
int main(){
int n;
scanf("%d", &n);
printf("%d", bin(n));
}
int bin(int num){
if(num==1){
return 1;
}
else{
printf("%d",num%2);
return bin(num/2);
}
}
porem assim ele imprime o numero binario ao contario, ao invez de imprimir por exemblo 1010 ele imprime 0101.
Gostaria de saber o por que, e como corrigir e também entender porque o codigo abaixo funciona
if(num==1){
return 1;
}
else{
return bin(num/2)*10+num%2;
}
OBRIGADO!
Link para o comentário
Compartilhar em outros sites
0 respostass 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.