当前位置: 代码迷 >> C语言 >> 求助
  详细解决方案

求助

热度:143   发布时间:2008-05-02 18:13:10.0
求助
八进制和十六进制怎样转换成十进制
----------------解决方案--------------------------------------------------------
任何进制的数转换成十进制都是一个公式

X进制的数ABCD转换为十进制数就是
D*X^0+C*X^1+B*X^2+A*X^3
//最低位是0次方,前面的次数依次上升


比如8进制数4235转换为十进制数就是
5*8^0+3*8^1+2*8^2+4*8^3
----------------解决方案--------------------------------------------------------
其实不只是转换成十进制,
任何一种进制的转换,
利用的原理都一样,
2楼怎么救不干脆写的更透彻些。
还有如果可以的话把大的数字放前面。
这样更容易理解。
----------------解决方案--------------------------------------------------------
自己可以写个16转10进制的
#include"stdio.h"
#include "math.h"
int main(void)
{
    int num1,i=0,j,temp;
    double num2=0;
    printf("请输入一个八进制的数:");
    scanf("%d",&num1);
    while(num1!=0)
    {
        temp=num1%10;
        num2=num2+temp*pow(8.0,i++);
        num1=num1/10;
    }
    printf("八进制%d转换成十进制的数是:%.0lf\n",num1,num2);
    return 0;

}




给你留个思考题,你可以考虑一下八进制转十六进制如何转换。
----------------解决方案--------------------------------------------------------
  相关解决方案