c语言输入十进制整数输出其八进制和十六进制
时间: 2024-10-25 08:14:50 浏览: 35
在C语言中,你可以使用标准库中的`std::bitset`和`std::stringstream`来转换十进制整数为八进制和十六进制。以下是一个简单的示例程序:
```cpp
#include <iostream>
#include <bitset>
#include <sstream>
int main() {
int decimal_number;
// 输入十进制整数
std::cout << "请输入一个十进制整数: ";
std::cin >> decimal_number;
// 转换为八进制
std::ostringstream octal_stream;
octal_stream << std::oct << decimal_number;
std::string octal = octal_stream.str();
// 转换为十六进制
std::ostringstream hexadecimal_stream;
hexadecimal_stream << std::hex << decimal_number;
std::string hexadecimal = hexadecimal_stream.str();
// 输出结果
std::cout << "八进制形式: " << octal << std::endl;
std::cout << "十六进制形式: " << hexadecimal << std::endl;
return 0;
}
```
在这个程序中,我们首先读取用户的输入作为十进制整数。然后使用`std::ostringstream`流对象(`octal_stream` 和 `hexadecimal_stream`)分别设置为八进制(`std::oct`)和十六进制(`std::hex`)模式,并将十进制数写入。最后,我们将这些字符串输出到控制台。
运行此程序后,按提示输入一个十进制整数,它将以八进制和十六进制的形式显示出来。
阅读全文