使用C语言编写一个程序,输入一个int型十进制整数,并输出它的二进制、八进制和十六进制表示,并输出所有位数
时间: 2025-01-24 07:10:05 浏览: 55
以下是一个使用C语言编写的程序,它可以输入一个int型十进制整数,并输出它的二进制、八进制和十六进制表示,同时输出所有位数:
```c
#include <stdio.h>
void printBinary(unsigned int n) {
if (n > 1) {
printBinary(n / 2);
}
printf("%d", n % 2);
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
printf("十进制: %d\n", num);
printf("二进制: ");
printBinary((unsigned int)num);
printf("\n");
printf("八进制: %o\n", num);
printf("十六进制: %x\n", num);
// 计算并输出所有位数
int count = 0;
if (num == 0) {
count = 1;
} else {
unsigned int n = (num < 0) ? -num : num;
while (n > 0) {
n /= 10;
count++;
}
}
printf("所有位数: %d\n", count);
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个递归函数 `printBinary` 来打印整数的二进制表示。
2. 在 `main` 函数中,我们首先提示用户输入一个整数。
3. 然后,我们使用 `printf` 函数打印输入的十进制数。
4. 接着,我们调用 `printBinary` 函数打印二进制表示。
5. 我们使用格式说明符 `%o` 和 `%x` 分别打印八进制和十六进制表示。
6. 最后,我们计算并打印整数的所有位数。我们使用一个循环来计算位数,考虑了负数的情况。
这个程序将输出输入整数的所有常见进制表示,以及它的总位数。
阅读全文
相关推荐


















