思路(只考虑整型中正数部分的转换)
十进制转为二进制,利用两个for循环
第一次for循环 0-14 把十进制依次储存到数组中
第二次for循环 15-0 因为每次对2取余的结果存入数组时是从a[0]开始储存的,所以要从a[15]开始输出
#include<stdio.h>
int main()
{
int i, j, n, m;
int a[16] = { 0 };
printf("请输入一个十进制的数(0~32767):\n");
scanf_s("%d", &n);
for (m = 0; m < 15; m++)
{
i = n % 2;
j = n / 2;
n = j;
a[m] = i;
}
for (m = 15; m >= 0; m--)
{
printf("%d", a[m]); //for循环,将16个元素从后往前输出
if (m % 4 == 0)
printf(" "); //每输出4个元素,输出一个空格
}
return 0;
}