012 (八进制) = 000 001 010 = 1010 (二进制)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643503)8,转换成二进制数,则
(6 4 3 5 0 3)884216==0420==110
4==0400==100
因为是二进制,所以只有0。1两个数字,有数的地方用1表示。
#include "stdioh"
int fact(int n)
{
if(n<2)
return n; else
return fact(n/2)10+n%2;
}
int fun(char s)
{
int i,t;
int sum=0;
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='7')
t=s[i]-'0';
sum=sum8+t;
}
return fact(sum);
}
int main()
{
char s[50];
printf("输入八进制的数:");
scanf("%s",s);
int m=fun(s);
printf("输出二进制数为:%d",m);
return 0;
}
希望采纳,谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)