//计算器10进制转换为二进制, 输入一个十进制数,将他转化成一个二进制数输出,且输出每八位空一格
#include <stdio.h>
int main(int argc, const char * argv[])
{
//让用户输入一个10进制数字
//接收用户输入的十进制数字保存到变量中
printf("请输入一个10进制的数字:\n");
int num = 0;
scanf("%d",&num);
//判断这个10进制的数字是正数还是负数
int num0[32] = {0};
num>0?num0[0]=0:(num*=(-1),num0[0]=1);
//将每次%2的结果保存到数组中,逆序保存
for (int i = 0; i < 31; i++)
{
num0[31-i]=num%2;
num /= 2;
}
//循环输出所有数组元素 遇到8就打印空格
for (int i = 1; i <=32; i++)
{
printf("%d",num0[i-1]);
if (i%8==0)
{
printf(" ");
}
}
return 0;
} |
|