当前位置: 代码迷 >> C语言 >> [求助]C语言中怎么写二进制转换八进制?
  详细解决方案

[求助]C语言中怎么写二进制转换八进制?

热度:204   发布时间:2007-02-23 11:30:46.0
[求助]C语言中怎么写二进制转换八进制?
C语言中怎么写二进制转换八进制??

朋友们你们知道吗??
搜索更多相关的解决方案: 八进制  二进制  C语言  

----------------解决方案--------------------------------------------------------

有两种方法
一种:二进制转化成十进制,然后再转化八进制。
二种:从最低位开始,每格三个,三个二制转化十进制,如果不足补0,保证是每格三个数。


----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
void main()
{
char c[100];
int i,d=0;
scanf("%s",c);//
for(i=0;c[i]!='\0';i++)//把输入的二进制转换为10进制
{
d=d<<1;
if(c[i]=='1')
d++;
}
itoa(d,c,8);
printf("%s\n",c);;//或者用底下的 printf("%0")也可以
printf("%o\n",d);

}
----------------解决方案--------------------------------------------------------
谢谢?朋友。
----------------解决方案--------------------------------------------------------
  相关解决方案