c语言实例--十进制转化为二进制
问题:实现十进制转化为二进制的代码。
思路先行:
第一步:十进制转化为二进制的过程中,就是每次除2取余,并存放在数组中。
第二步:输入的数字在0-32767之间。
第三步:for循环(从0到14位,最高位为符号位)。
第四步:for循环倒叙输出,存放在数组中即为转化后的值。
第五步:为了美观,每隔四个数字打印一个空格。
代码如下:
#include <stdio.h> //引用头文件
main()
{
int i,j,n,m,a[16]={0}; //定义变量i,i,m,和数组a[],并赋初值为0;
printf("请输入您想转化的十进制数字:(0-32767):"); //输入转化的数字
scanf("%d",&n);
for(m=0;m<15;m++) //for循环从0到14位,最高位为符号位,本题始终为0;
{
i=n%2; //每次取n%2的余数;
j=n/2; //把n/2的整数部分赋值给j,
n=j; //让j=n;从n再执行下一次循环。
a[m]=i; //并把每次的余数i赋给数组a[];
}
for(m=15;m>=0;m--) //for循环,将数组中的元素倒叙输出,即为转化后的二进制数字。
{
printf("%d",a[m]);
if(m%4==0) //为了格式美观,每隔四个数字打印一个空格。
printf(" ");
}
printf("\n");
}
输出结果如下:
还没有评论,来说两句吧...