DEC十进制转换为BIN二进制
BIN二进制 0 1
除2取余,倒序排列,高位补零
例如:14
14%2=0 14/2=7
7%2=1 7/2=3
3%2=1 3/2=1
1%2=1 1/2=0
倒序排序:则14=1110
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int x, y, i, length;
char arr[64];//假设给数组开辟64个字节空间
printf("请输入需要转换成二进制的十进制数:");
scanf("%d", &x);
printf("转换为:");
y = fabs(x);//取绝对值函数
i = 0;
while (y!=0)
{
arr[i] = '0' + y % 2;//把字符0+y%c的值存入数组中
y = y / 2;
i++;
}
arr[i] = '\0';//把\0存入数组中,表结束控制数组开辟的空间
length = strlen(arr);//#include<string.h>文件中使用,计算字符串数组个数
if (x < 0)
{
printf("-");//输入为负数的情况
}
for (i = length - 1; i >= 0; i--)
{
printf("%c", arr[i]);//从数组右边开始向左输出
}
return 0;
}
如果觉得《C语言-输入十进制数转换为二进制数》对你有帮助,请点赞、收藏,并留下你的观点哦!