用C语言把十进制转换成二进制

一楼同志的数组没有初始化,所以运行结果很荒诞。
二楼同志负数好象无法转换。

#include<stdio.h>
void main()
{
int m;
int a[20]={0};//初始化数组
int i,j=0;//计数器
scanf("%d",&m);
while(m>0)
{
a[j]=m%2;
j++;
m=m/2;

}
for(i=j;i>=0;i--)
{
printf("%d",a[i]);//输出二进制
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-11
除2取余阿
第2个回答  2008-04-11
#include<stdio.h>
#include<math.h>
void main()
{int ten,er=0,fig;int i;
printf("输入十进制数:");
scanf("%d",&ten);
if(ten!=1)
{for(i=1;ten>1;i++)
{
fig=ten%2;
ten=ten/2;
er+=fig*pow(10,(i-1));
} er+=1*pow(10,(i-1));
printf("转化为二进制数为:%d\n",er);
}
}
第3个回答  2008-04-11
ertgsdg
第4个回答  2008-04-11
利用栈结构来解决这个问题。
利用栈的先进后出的特性,将十进制数除以2余数入栈,最后让数据依次出栈就实现了进制的转换,稍后我把代码给你贴上,你先自己做一下看看能不能做出来吧!
第5个回答  2008-04-11
int d;
char b[10];
itoa(d, b, 2);

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网