C语言十进制转二进制

C语言十进制转二进制,要求用数组来储存每次对2除取余的结果.我是菜鸟,希望达人不要用太复杂的语句,谢谢

十进制转二进制可以使用库函数itoa。

itoa函数原型:char*itoa(int value,char*string,int radix);

功能:将任意类型的数字转换为字符串。在<stdlib.h>中与之有相反功能的函数是atoi。

nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。


扩展资料:

方法

#include<stdio.h>

int main(void)

{ int i=0,n,a[32];

printf("请输入一个十进制整数.\n");

scanf("%d",&n);

while (n>0)

 {a[i]=n%2;

 i=i+1;

n=n/2;  }

printf("十进制整数转换为二进制数是:\n");

for(i--;i>=0;i--)

printf("%d",a[i]);

printf("\n");

return 0;}

十进制整数转换为二进制整数的方法:

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-06
void main()
{
int array[30];//用来保存计算结果
int x,i=0;
printf("请输入一个整数将其转换为:");
scanf("%d",&x);
while(x)
{
array[i]=x%2;
x=x/2;
i++;
}
printf("结果为:");
for(i=i-1;i>=0;i--)//循环打印输出,注意是从后往前打印
printf("%d",array[i]);
printf("\n");
}本回答被提问者和网友采纳
第2个回答  2010-11-24
# include<stdio.h>
void main()
{ int m;
int i=0, a[9];
printf("输入一个数:");
scanf("%ld",&m);
while(m!=0)
{ a[i]=m%2;
m=m/2;
i++;
}
for(i=i-1;i>=0;i--)
printf("%d",a[i]);
}
第3个回答  2010-11-25
恩,好好学

相关了解……

你可能感兴趣的内容

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