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

Popular posts from this blog

To convert hexadecimal to decimal numbers.

To convert hexadecimal to decimal numbers.