C Language Programming - Conversion of Binary, Decimal, Octal, and Hexadecimal Numbers
This program converts decimal numbers to binary, octal and hexadecimal number
#include
int dec,x, num;
long a;
char choice;
void decimal_binary();
void decimal_octal();
void decimal_hexadecimal();
void main()
{
begin:
clrscr();
printf("\n ===============================================");
printf("\n Input A Decimal Number: ");
scanf("%d",&dec);
printf("\n ========== Choose Type of Conversion ==========");
printf("\n\n [1] Decimal to Binary\n");
printf("\n [2] Decimal to Octal\n");
printf("\n [3] Decimal to Hexadecimal\n");
printf("\n [4] Exit\n");
again:
printf("\n ===============================================");
printf("\n Enter your choice [1-4] : ");
scanf("%d",&num);
switch(num)
{
case 1:
{
decimal_binary(dec);
break;
}
case 2:
{
decimal_octal(dec);
break;
}
case 3:
{
printf("\n ===============================================");
printf("\n The Hexadecimal Equivalent of %d is ",dec);
a = dec;
decimal_hexadecimal(a);
break;
}
case 4:
{
exit();
break;
}
default:
printf(" ===============================================");
printf("\n Invalid Selection, try again\n");
goto again;
break;
}
printf("\n\n ===============================================");
printf("\n Do you want to try again? (Y/N) : ");
scanf("%s",&choice);
choice=toupper(choice);
if(choice=='Y')
goto begin;
else if(choice=='N')
exit();
getche();
}
void decimal_binary(dec)
{
int bin,n,i=0,a[10];
printf("\n ===============================================");
printf("\n The Binary Equivalent of %d is ",dec);
do
{
a[i]=dec%2;
dec=dec/2;
i++;
}while(dec!=0);
for(n=i-1;n>=0;n--)
printf("%d",a[n]);
}
void decimal_octal(dec)
{
int i,a[10];
printf("\n ===============================================");
i=0;
printf("\n Octal Equavalent of %d is ",dec);
while(dec!=0)
{
a[i]=dec%8;
dec=dec/8;
i++;
}
i--;
for(;i>=0;i--)
printf("%d",a[i]);
}
void decimal_hexadecimal(long n)
{
long i;
if(n>0)
{
i=n%16;
n=n/16;
decimal_hexadecimal(n);
if(i>=10)
{
switch(i)
{
case 10:
printf("A");
break;
case 11:
printf("B");
break;
case 12:
printf("C");
break;
case 13:
printf("D");
break;
case 14:
printf("E");
break;
case 15:
printf("F");
break;
}
}
else
printf("%ld",i);
}
}