Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom pessoal preciso de ajuda. Tenho que fazer um programa que converta decimal em BCD.
Tenho isso:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main() {
int i;
int num;
char binario [33];
binario [0]=0;
printf("Digite o numero que deseja converter para BCD:"); scanf("%d",&num);
itoa (num,binario,2);
printf ("O numero convertido em binario e: %s\n",binario);
getch();
return 0;
}
O que eu tenho converte decimal em binario, mas o que eu tenho que fazer é:
BCD
0 - 0000 6 - 0110
1 - 0001 7 - 0111
2 - 0010 8 - 1000
3 - 0011 9 - 1001
4 - 0100
5 - 0101
Se o numero for até 9 o que ja esta feito faz mas com um problema eu não consigo colocar o zero na frente. Se o numero for maior que 9, tenho que fazer isso:
Ex: 290 -> 2 - 0010 9 - 1001 0 - 0000 -> 290 em BCD é : 001010010000, ou seja o programa tem que ler o numero e concatenar as partes dele.
Alguém tem alguma ideia? Agradeço desde já.
Carregando comentários...