对于一个任意进制数都是按权展开再相加成为一个十进制数.以八进制为例A(n-1)A(n-2)...A2A1A0那化成十进制A0+8*(A1+8*(A2+8*(...+8*(A(n-2)+8*A(n-1))))所以在程序实现的时候就是while(*(p)!='\0')//字符串接收数据,对应的p[0]为最高位{n=n*8+*p-'0'; //*p-'0'是将数字字符转换为数.p++; //地址下移,处理下一位.}/*不过程序能转换的数比较小*/