c语言十六进制转十进制的算法怎么写

 我来答
黄晓辉07
推荐于2018-03-30 · TA获得超过305个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:184万
展开全部
.2进制八进制和十六进制到10进制:
从2进制八进制和十六进制数的最低位(最右端第n=1位),依次将乘以进制数的n-1次方相加
例如:二进制数11010转十进制 (我用m^n表示m的n次方)
0*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 1*2^4=26;
八进制数20转十进制 0*8^0+2*8^1=16;

所以算法也是类似,这代码是借鉴别人的。如下:
#include <stdio.h>
#define N 10

int HtoD(char *s)
{
int i,d=0;
char t;
for(i=0; s[i]!='\0'; i++)
{
d=d*16;
t=s[i];
if(t>='0' && t<='9')
d=d+t-'0';
else if(t>='a' && t<='f')
{
d=d+t-'a'+10;
}
else if(t>='A' && t<='F')
{
d=d+t-'A'+10;
}

}
return d;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式