转化思路:“除2求余,逆序排序”,既就是用十进制数除以2,可以得到一个商和余数;将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束;然后将之前所得的余数逆序输出,得到的就是该十进制数的二进制写法。
#include<stdio.h>
#define Num 2
int main()
{
int num;
int a[16];
int i=1,j;
scanf("%d",&num);
for(j=0;j<16;j++)
{
i=num%Num;
num=num/Num;
a[j]=i;
}
printf("该数二进制为:");
for(j=15;j>=0;j--)
{
printf("%d",a[j]);
if(j%4==0)
printf(" ");
}
return 0;
}
结果: