设置变量s,初始值为0,从第1位开始计算到字符串最后一位,先把s向左移动4位(乘以16),每位上进行数字转换,或到s上(加到s上)
#include
void main() { char a[]={ "123a" },*p; int b,c;
p=a; b=0;
while ( *p ) {
b<<=4; //或者b*=16;
if ( ((*p)>='0')&&((*p)<='9') ) c=(*p)-'0';
else if ( ((*p)>='a')&&((*p)<='f') ) c=(*p)-'a'+10;
else if ( ((*p)>='A')&&((*p)<='F') ) c=(*p)-'A'+10;
b|=c; //或者b+=c;
p++;
}
}