【请教八进制、16进制转换成十进制的算法,请举例说明】

如题所述

一个八进制数比如:123
转换为十进制就为:1*8^2+2*8^1+3*8^0
一个16进制的:123,转换为十进制就为:1*16^2+2*16^1+3*16^0
“^” 是多是次方的意思。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-05
十六进制转换为十进制:FFH-->15*16(0)+15*16(1)=255
DE--->14*16(0)+13*16(1)=222
八进制转换为十进制:67--->7*8(0)+6*8(1)=55
16(1)表示16的1次方
第2个回答  2007-11-05
..........
那还不好算?
int get10(int A8)
{
int a=A8,r=1,a10=0;

while(a!=0)
{
a10+=(a%10)*r;
a/=10;
r*=8;
}

return a10;
}

#include "stdio.h"

void main()
{
int n;
scanf("%x",&n); //以十六进制形式接收输入的数
printf("%d\n",n);//以十进制形式输出数
}
第3个回答  2007-11-05
#include <stdio.h>
void main()
{
int i,cmdo;
clrscr();
printf("1 Octal to Decimal\n");
printf("2 Hex to Decimal\n");
scanf("%d",&cmdo);
if(cmdo==1){
scanf("%o",&i);
printf("%d",i);
getch();
}
else{
scanf("%x",&i);
printf("%d",i);
getch();
}
}
相似回答