您的位置:首页 > 其它

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

2015-11-03 16:44 441 查看
第一种情况: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: