题目 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200423003723173.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjQ1NjMzOQ==,size_16,color_FFFFFF,t_70)
代碼
#include <stdio.h>
int main()
{
printf("请输入一个整数:");
int n;
scanf("%d",&n);
int i=0;
char a[16] = {'\0'};
while(1)
{
a[i] = n%2+'0';
if(n<2)
break;
n/=2;
i++;
}
for(i=0;i<16;i++)
{
if(a[15-i] == '\0')
printf("0");
else
printf("%c",a[15-i]);
if(i==7)
printf(" ");
}
return 0;
}
结果
思路
- 用竖式来计算
- 注意接收的时候,除一个2就是在低位的,所以注意接收和输出的顺序,因为使用数组,所以第一个接收的其实是二进制的最低位,输出时应该倒序输出
注意
字符数组的初始化;
整型与字符型转化。