C中16进制转换成10进制函数

来源:互联网 发布:淘宝激活windows7密钥 编辑:程序博客网 时间:2024/06/04 17:42
  • 第一种情况:16进制中不含字母(a,b,c,d,e,f)
  long HexToDec(int nSource){    long nResult=0;    int k=16;   // 16进制         int n=1;    // 位权    while(nSource)    {         nResult+=(nSource%10)*n;         nSource/=10;         n*=k;    }    return nResult;} 
  • 第二种情况:16进制中含字母(a,b,c,d,e,f)(不含字母也可使用)
 long  fun(char *s){   int i,t;   long sum=0;   for(i=0;s[i];i++)   {     if(s[i]<='9')          t=s[i]-'0';     else           t=s[i]-'a'+10;     sum=sum*16+t;   }   return sum;}
0 0