To convert hexadecimal to decimal numbers.
#include
#include
#include
#include
void main()
{
char
hex[' '], c;
int
i,len,dec[' '],total;
clrscr();
do
{
printf("Enter
hexadecimal number:\t");
gets(hex);
len=strlen(hex);
/*convert each digit from hexadecimal to
decimal*/
for(i=0;i
{
switch(hex[i])
{
case
'0' : dec[i]=0;
break;
case
'1' : dec[i]=1;
break;
case
'2' : dec[i]=2;
break;
case
'3' : dec[i]=3;
break;
case
'4' : dec[i]=4;
break;
case
'5' : dec[i]=5;
break;
case
'6' : dec[i]=6;
break;
case
'7' : dec[i]=7;
break;
case
'8' : dec[i]=8;
break;
case
'9' : dec[i]=9;
break;
case
'A' : dec[i]=10;
break;
case
'B' : dec[i]=11;
break;
case
'C' : dec[i]=12;
break;
case
'D' : dec[i]=13;
break;
case
'E' : dec[i]=14;
break;
case
'F' : dec[i]=15;
break;
default : puts("\nInput
invalid\n");
exit();
}
}
total=convert(dec,len);
printf("\nThe
decimal number of %s is:\t%d\n",hex,total);
printf("\nPress
Y if you want to continue:\t");
c=getche();
printf("\n\n");
}
while(c=='y'||c=='Y');
getch();
}
/*function to combine all decimal digits*/
convert(int decimal[],int n)
{
int
i,tot=0,q=0;
for(i=n-1;i>=0;i--)
{
tot
= tot+(decimal[i]*pow(16,q));
q++;
}
return(tot);
}
Comments
Post a Comment