c语言中8进制转10进制的算法

c语言中怎么通过程序将8进制怎样转为10进制.
算法知道.按位权展开.
但是怎么来取得这个8进制数呢?
从键盘输入的全是10进制数.
我觉得难点就在这里.那位高手求救啊.....................
谁知道怎样用程序 来完成进.8进制转为10进制数啊....

“从键盘输入的全是10进制数”,这里你理解的不对,从键盘输入的不是数,而是字符串,怎么去解释就看你程序怎么定义了。
-----------------------------------------------------
编译一下,用 o2d 8进制数字 测试。
#include <stdio.h>

int main(int argc, char *argv[])
{
if (argc != 2) {
printf("Usage: o2d octet\n");
return 0;
}
int octet = atoi(argv[1]);
int decimal = 0;
int base = 1;
while (octet > 0) {
decimal += (octet % 10) * base;
base *= 8;
octet = octet / 10;
}
printf("The decimal of octet %s is %d\n", argv[1], decimal);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-04
你可以用char 定义 字符变量 得到的就是ASCII值了,也就是每一位的数
第2个回答  2021-01-15

相似回答