C语言——将十进制数转换成二进制数
方法:除 2 取余,逆序排列
原理:用 2 整除十进制整数,可以得到一个商和余数;再用 2 去除商,又会得到一个商和余数,如此进行,直到商为小于 1 时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
如上图所示,转换成二进制就是对2进行取余操作,最后将所得的余数进行倒序排列就是对应的二进制数了。
代码:
#include<stdio.h>
int main(){
// 将一个十进制数转换成二进制数(无符号位)
int number;
int flag;
int i = 0;
int num[10];
printf("请输入要转换的十进制数:");
scanf_s("%d", &number);
while (number != 0 && number != 1) {
flag = number % 2;
num[i++] = flag;
number = number / 2;
printf("number:%d", number);
printf("\n");
}
num[i++] = number;
printf("该十进制数的二进制数是:");
for (int j = i - 1; j >=0 ; j--)
printf("%d", num[j]);
return 0;
}