用c程序实现,输入十进制数,输出二进制和十六进制
时间: 2024-11-06 15:15:00 浏览: 10
C++实现读入二进制数并转换为十进制输出
在C语言中,你可以使用`stdio.h`库来获取用户的输入,并使用`bitset`库或者位操作来转换十进制数为二进制和十六进制。以下是一个简单的示例,它首先将用户输入的十进制数转换为二进制和十六进制:
```c
#include <stdio.h>
#include <inttypes.h>
// 转换函数
void decimal_to_binary_and_hexadecimal(int num) {
// 输出二进制
char binary[20];
sprintf(binary, "%d", num);
printf("二进制表示: %s\n", binary);
// 使用itoa转换为字符串形式
char hex[17] = {0};
itoa(num, hex, 16); // 这里16代表十六进制
printf("十六进制表示: %s\n", hex);
}
int main() {
int decimal;
printf("请输入一个十进制数: ");
scanf("%d", &decimal);
decimal_to_binary_and_hexadecimal(decimal);
return 0;
}
```
在这个例子中,我们首先读取用户的输入并存储到整数变量`decimal`中。然后,通过`decimal_to_binary_and_hexadecimal`函数,我们将这个数字转换成二进制和十六进制。注意,对于十六进制,我们使用了`itoa`函数,它是从C99标准开始提供的。
阅读全文