当前位置:首页 > Code > 正文内容

十六进制字符串转换成十进制数

许玮6年前 (2018-11-22)Code1728

int HexStringToDec(TCHAR* str, int iLength)

{    

    TCHAR chStr[MAX_PATH] ={0};    

    int iMultiple = 1;   

    int iRet = 0;    

    int iTmp = 0;    

    _tcscpy_s(chStr, str);    

    for (int i = iLength - 1; i >= 0; i--)    

    {        

        if ((chStr[i] >= '0') && (chStr[i] <= '9'))           

            iTmp = chStr[i] - '0';        

        else if((chStr[i] >= 'a') && (chStr[i] <= 'f'))            

            iTmp = chStr[i] - 'a' + 10;        

        else if((chStr[i] >= 'A') && (chStr[i] <= 'F'))           

            iTmp = chStr[i] - 'A' + 10;        

        else           

            iTmp = 0;        

        iRet = iRet + iTmp * iMultiple;       

        iMultiple = iMultiple * 16;    

    }        

    return iRet;

}


扫描二维码推送至手机访问。

版权声明:本文由Will编程学习之路发布,如需转载请注明出处。

本文链接:http://willhsu.com/?id=12

标签: C/C++
分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。