#include<stdio.h>#include<string.h>staticintget_index_of_signs(unsignedchar ch){if(ch >='0'&& ch <='9'){return(ch -'0');}if(ch >='A'&& ch <='F'){return(ch -'A'+10);}if(ch >='a'&& ch <='f'){return(ch -'a'+10);}return(-1);}staticinthex_to_int(unsignedchar*source){int sum =0;int t =1;int i, len;
len =strlen(source);for(i = len -1; i >=0; i--){
sum += t *get_index_of_signs(*(source + i));
t *=16;}return(sum);}intmain(){unsignedchar*source ="000a";printf("hextoint = %d\n",hex_to_int(source));printf("%d\n",(128&128)!=0);return0;}