二进制与八进制之间的相互转换
八进制转二进制(中间借助十进制)
#include
#include
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
#include
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;
}
还没有评论,来说两句吧...