int Hex2Int(char * hex)
{
printf("hex = %s/n", hex);
int nRetValue = 0;
int len = strlen(hex);
for(int i = 0; i<len; i++)
{
int nDecNum;
switch(hex[i])
{
case 'a':
case 'A': nDecNum = 10; break;
case 'b':
case 'B': nDecNum = 11; break;
case 'c':
case 'C': nDecNum = 12; break;
case 'd':
case 'D': nDecNum = 13; break;
case 'e':
case 'E': nDecNum = 14; break;
case 'f':
case 'F': nDecNum = 15; break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': nDecNum = hex[i] - '0'; break;
default: return 0;
}
nRetValue += nDecNum * (int)pow(16, len-i -1);
}
return nRetValue;
}
16进制字符串转换为10进制整数值
最新推荐文章于 2022-04-04 13:32:15 发布