#include <stdio.h>
int getNum(char ch) {
int n = 0;
if (ch >= '0' && ch <= '9') {
n = ch - 0x30;
}
else {
switch(ch) {
case 'A': case 'a': n = 10; break;
case 'B': case 'b': n = 11; break;
case 'C': case 'c': n = 12; break;
case 'D': case 'd': n = 13; break;
case 'E': case 'e': n = 14; break;
case 'F': case 'f': n = 15; break;
default: n = 0;
}
}
return n;
}
unsigned int hex2int(unsigned char hex[]) {
return (getNum(hex[0])) * 16 + (getNum(hex[1]));
}
int main()
{
unsigned char hex[2] = "A0";
unsigned int i;
i = hex2int(hex);
printf("%d\n", i);
return 0;
}
/*
run:
160
*/