int char2digit(char* str)
{
int temp = 0;
int val = 0;
char c = '/0';
while ((c = *str++) != '/0')
{
if (c>='A' && c<='F')
val = c-'A'+10;
else if (c>='a' && c<='f')
val = c-'a'+10;
else if (c>='0' && c<='9')
val = c-'0';
else
return -1;
temp = temp<<4;
temp += val;
}
return temp;
}
盟 * 讯 笔试题 十六进制字符转数字
