mini板子 十六进制字符型转十进制数

2019-08-12 17:48发布

QQ截图20171020093342.png QQ截图20171020093316.png
自己仿照C语言程序移植的,输出结果不对,大神们帮忙看一下,mini板子十六进制字符串转十进制数@zuozhongkai
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
taizonglai
1楼-- · 2019-08-12 19:50
Sun_Fly
2楼-- · 2019-08-12 21:25
[mw_shl_code=c,true]/*
* 将字符转换为数值
* */  
int c2i(char ch)  
{  
        if(isdigit(ch))  
                return ch - 48;  
        if( ch < 'A' || (ch > 'F' && ch < 'a') || ch > 'z' )  
                return -1;  
        if(isalpha(ch))  
                return isupper(ch) ? ch - 55 : ch - 87;  
        return -1;  
}  
  
/*
* 功能:将十六进制字符串转换为整型(int)数值
* */  
int hex2dec(char *hex)  
{  
        int len;  
        int num = 0;  
        int temp;  
        int bits;  
        int i;  
        len = strlen(hex);  
  
        for (i=0, temp=0; i<len; i++, temp=0)  
        {  

                temp = c2i( *(hex + i) );  
                bits = (len - i - 1) * 4;  
                temp = temp << bits;  
                num = num | temp;  
        }  
        return num;  
}  
  
  
int main(int argc, char *argv[])  
{  
        char ch[10] = {0};  
        strcpy(ch, "1de");  
        printf("hex:%d ", hex2dec(ch));  
        return 0;  
} [/mw_shl_code]
qixiaoxiao16
3楼-- · 2019-08-12 23:13
谢谢!

一周热门 更多>