本文主要是介绍C 练习实例82-八进制转换为十进制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法一
#include <stdio.h>
#include <math.h>
int main()
{//1234(8)=4*8^0+3*8^1+2*8^2+1*8^3 4+24+128+512=668int n=1234; //8进制数int i=0;int N=0; //存储10进制数int bit=0; //取出每一位while(n%10){bit=n%10;N+=(bit*(int)pow(8,i++));n/=10;}printf("%d\n",N);return 0;
}
668
一个数字字符转数字的小方法
#include <stdio.h>
int main()
{char a='1';int b=1;printf("%d\n",a-b);//字符和它对应的数字差了48printf("%c\n",a-b);//而这个48正好是字符'0'//所以我们想把数字字符转化为数字可以这样做int c=a-'0';printf("%d\n",c);return 0;
}
48
0
1
于是有了方法二
#include <stdio.h>
int main()
{char c[20]="1234"; //以字符形式表示这个8进制数int i=0;int n=0; //存储十进制数while(c[i]){n=n*8+c[i]-'0'; //最高位正好乘3次8,最后一位则乘零次8i++;}printf("%d\n",n);return 0;
}
668
这篇关于C 练习实例82-八进制转换为十进制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!