如何用C++中的iostream编程转换数字进制
时间: 2024-10-16 14:03:31 浏览: 8
在C++中,你可以使用`<ios>`库中的`std::stringstream`类来进行数字的进制转换。以下是一个简单的例子,演示了如何将十进制整数转换成其他进制(如二进制、八进制和十六进制):
```cpp
#include <iostream>
#include <sstream>
int main() {
int decimal_number = 12345;
// 转换为二进制
std::stringstream binary_stream;
binary_stream << std::hex << decimal_number; // 首先转为十六进制,因为二进制需要前缀0b
std::string binary_str = binary_stream.str();
binary_str.erase(0, 2); // 删除前缀 "0x"
std::cout << "Binary: " << binary_str << std::endl;
// 转换为八进制
std::stringstream octal_stream;
octal_stream << decimal_number;
std::string octal_str = octal_stream.str();
std::cout << "Octal: " << octal_str << std::endl;
return 0;
}
```
在这个示例中,我们首先将十进制数转换为十六进制(因为`std::hex`会自动添加前缀),然后从十六进制字符串中删除前缀"0x"。接着再将原始的十进制数直接转换为八进制。
阅读全文