c语言输出一个十进制数的八进制十六进制十进制
时间: 2024-10-16 21:17:40 浏览: 29
C语言实现十六进制数据转十进制数据
在C语言中,你可以通过标准库函数`itoa()`、`printf()`或者自定义转换函数来分别将十进制数转换成八进制、十六进制和再显示其原始的十进制值。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义函数将十进制转八进制
void octal(int decimal) {
char oct_str[10];
sprintf(oct_str, "%o", decimal);
printf("八进制: %s\n", oct_str);
}
// 自定义函数将十进制转十六进制
void hexadecimal(int decimal) {
char hex_str[20];
sprintf(hex_str, "%x", decimal);
printf("十六进制: %s\n", hex_str);
}
int main() {
int decimal_num = 123; // 示例十进制数
printf("十进制: %d\n", decimal_num);
octal(decimal_num); // 转换并打印八进制
hexadecimal(decimal_num); // 转换并打印十六进制
return 0;
}
```
在这个例子中,`itoa()`函数在C++中可用,但在C标准库中并没有直接提供,所以我们使用了`sprintf()`函数结合`%o`和`%x`格式说明符来进行转换。
运行这个程序会得到类似这样的输出:
```
十进制: 123
八进制: 173
十六进制: 7b
```
阅读全文