八进制转二进制(中间借助十进制)
#include<stdio.h>
#include<math.h>
intmain()
{
int n,now=0,i,remainder;
scanf("%d",&n);
//八进制转十进制
for(i=0;;i++)
{
remainder=n%10;
now=now+remainder*pow(8,i);
if(n/10==0)
{
//printf("%d\n",now);
break;
}
n=n/10;
}
//scanf("%d",&n);
n=now;
//十进制转二进制
now=0;
for (i=0;;i++)
{
remainder=n%2;
now=now+remainder*pow(10,i);
if(n==0)
{
printf("%d\n",now);
break;
}
n=n/2;
}
return 0;
}
二进制转八进制
#include<stdio.h>
#include<math.h>
intmain()
{
int n,now=0,i,remainder;
scanf("%d",&n);
//二进制转十进制
for(i=0;;i++)
{
remainder=n%10;
now=now+remainder*pow(2,i);
if(n/10==0)
{
//printf("%d\n",now);
break;
}
n=n/10;
}
//scanf("%d",&n);
n=now;
//十进制转八进制
now=0;
for (i=0;;i++)
{
remainder=n%8;
now=now+remainder*pow(10,i);
if(n==0)
{
printf("%d\n",now);
break;
}
n=n/8;
}
return 0;
}
这篇博客介绍了如何在C语言中实现二进制与八进制之间的相互转换。首先通过将八进制转换为十进制,再将十进制转换为二进制,展示了八进制到二进制的转换过程。接着,博主同样利用先转换为十进制,再由十进制转换为八进制的方法,阐述了二进制到八进制的转换步骤。代码中使用了循环和取余运算来完成转换。

4894

被折叠的 条评论
为什么被折叠?



