满意答案
rwveudqu6
推荐于 2016.10.29
采纳率:51% 等级:9
已帮助:416人
.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 #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; }
00分享举报