#include <stdio.h>
void printBinary(int num) {
if (num > 1) {
printBinary(num / 2); // 递归调用
}
printf("%d", num % 2); // 输出当前位
}
int main() {
int num, base;
printf("输入一个数: ");
scanf("%d", &num); // 获取数
printf("输入该数的进制 (2, 8, 10, 16): ");
scanf("%d", &base); // 获取进制
printf("十进制: %d\n", num);
printf("八进制: %o\n", num);
printf("十六进制: %x\n", num);
printf("二进制: ");
printBinary(num); // 输出二进制
printf("\n");
return 0;
}
说明
- 获取用户输入的数和其进制。
- 使用格式化输出函数
printf
分别输出十进制、八进制和十六进制。 - 通过递归函数
printBinary
输出二进制表示。