无符号十六进制字符串转为十进制数

int HexToDec(char *src){
    //将src中的无符号十六进制字符串转为十进制数
    //如src="001A",则返回26
    //字符串src需要以'\0'作为结束标志
    int value=0,srclen=strlen(src);
    int i;
    for(i=0;i 
  
        if(src[i]<='9'&&src[i]>='0'){
            value=value*16+(int)(src[i]-'0');
        }
        else if(src[i]<='f'&&src[i]>='a'){
            value=value*16+(int)(src[i]-'a'+10);
        }else{
            value=value*16+(int)(src[i]-'A'+10);
        }
    }
    return value;//返回转换后的数值
}

你可能感兴趣的:(c)