Hexadecimal to Decimal

void Hex2Dec()
{
    char hex[N];
    int i,j,n[N],l;
    long double dec=0;
    printf("Enter the hexadecimal number and find it's decimal 
equivalent\n");
    gets(hex);
    l=strlen(hex);
    for(i=0;i<l;i++)
    {
        switch(hex[i])
        {
        case '0':
            n[i]=hex[i]-48;     
            break;
        case '1':
            n[i]=hex[i]-48; 
            break;
        case '2':
            n[i]=hex[i]-48;  
            break;
        case '3':
            n[i]=hex[i]-48;  
            break;
        case '4':
            n[i]=hex[i]-48;  
            break;
        case '5':
            n[i]=hex[i]-48;  
            break;
        case '6':
            n[i]=hex[i]-48;  
            break;
        case '7':
            n[i]=hex[i]-48;  
            break;
        case '8':
            n[i]=hex[i]-48;  
            break;
        case '9':
            n[i]=hex[i]-48;  
            break;
        case 'A':
            n[i]=hex[i]-55;     

            break;
        case 'B':
            n[i]=hex[i]-55;  
            break;
        case 'C':
            n[i]=hex[i]-55;  
            break;
        case 'D':
            n[i]=hex[i]-55;  
            break;
        case 'E':
            n[i]=hex[i]-55;  
            break;
        case 'F':
            n[i]=hex[i]-55;  
            break;
        }
    }
    for(i=0,j=l;i<l;i++,j--)
        dec=dec+(n[j-1]*pow(16,i));
    printf("The decimal equivalent is %lg \n",dec);
}


Reply via email to