这里用到的方法是"除2取余,逆序排列"法
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,一直进行,直到商为小于1时为止,然后把得到的余数倒序排列。
#include <stdio.h>
int main() {
int i = 0, base, j, num[100] ;
printf("请输入:");
scanf("%d", &base) ;
do {
num[i] = base % 2;
base = base / 2;
i++;
j++;
} while (base != 0);
for (j = i - 1; j >= 0; j--)
printf("%d", num[j]) ;
return 0;
}
运行结果