[求助]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);
}
----------------解决方案--------------------------------------------------------
谢谢?朋友。
----------------解决方案--------------------------------------------------------