美文网首页
试题4:十六进制字符串转十进制字符串

试题4:十六进制字符串转十进制字符串

作者: PersisThd | 来源:发表于2019-07-07 15:06 被阅读0次

    试题描述:写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )

    C语言解法

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    
    void convert16to10(char* str, int len)
    {
        long sum = 0;
        int i = 0;
        for(i = len-1; i>=0; i--)
        {
            if((str[i] <= '9') && (str[i] >= '0'))
            {
                sum = sum + (str[i] - 48) * pow(16, len-i-1);
            }
            else if((str[i] <= 'F') && (str[i] >= 'A'))
            {
                sum = sum + (str[i] - 55) * pow(16, len-i-1);
            }
    
        }
        char num[100];
        itoa(sum, num, 10);
    
    
        //printf("%ld\n", sum);
        printf("%s\n", num);
    }
    
    int main()
    {
        char str[100];
    
        while(gets(str))
        {
            int len = strlen(str);
            convert16to10(str, len);
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:试题4:十六进制字符串转十进制字符串

          本文链接:https://www.haomeiwen.com/subject/pyyfqctx.html