C语言编程题将十进制M转换成二进制

1.要用C语言
2.我的思路是:M%2取余,将所有的余数放入一个数组,然后在用递减循环把余数输出,满足转换。
我有思路但是写不出来,哪位受累帮我实现一下。非常感谢……

#include <stdio.h>
void main()
{
int a[32]={0},i;
long num;
i=0;
printf("请输入一个十进制数:");
scanf("%ld",&num);
printf("%ld的二进制数为:",num);
while(num>=1)
{
a[i]=num%2;
num=num/2;
i++;
}
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}

这是我写的程序 要转八进制只需把这a[i]=num%2;num=num/2;两句改为a[i]=num%8;
num=num/8;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-13
思路是对的,自己思考思考吧,用一个循环语句就可以了。
第2个回答  2009-09-13
void main()
{
long input;
for ( scanf ( "请输入正整数:\n%ld", &input ); input ;printf ( "%d", (input&0x80000000)!=0 ), input<<=1 );
}
第3个回答  2009-09-13
用这个函数
void DisplayBits(unsigned value)
{
unsigned displayMask;
unsigned n;
int i;
n=sizeof(unsigned)*8;
displayMask=1<<(n-1);
for(i=0;i<n;i++)
{
putchar(value&displayMask?'1':'0');
displayMask=displayMask>>1;
}
}

就是通过位运算符

相关了解……

你可能感兴趣的内容

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