如何用C++编程转换数字进制
时间: 2024-10-15 20:14:40 浏览: 7
在C++中,将十进制数转换为其他进制(如二进制、八进制或十六进制)可以使用内置函数或者自定义算法。这里我会展示如何使用内置函数`std::stringstream`和`std::bitset`来转换。
1. **使用`std::stringstream`**:
```cpp
#include <sstream>
#include <string>
int decimalNumber = 10; // 你想要转换的十进制数
std::stringstream ss;
ss << std::dec << decimalNumber; // 将十进制转为字符串
ss >> std::hex << std::setfill('0') << std::setw(4); // 设置为4位十六进制
std::string hexadecimal = ss.str();
// 同理可以换成std::oct for 八进制
```
2. **使用`std::bitset`** (仅适用于整型转换):
```cpp
#include <bitset>
#include <string>
int decimalNumber = 10;
std::bitset<8> binaryBitSet(decimalNumber); // 对于二进制
std::string binaryStr(binaryBitSet.to_string()); // 转换为字符串
std::string octalStr = std::bitset<32>(decimalNumber).to_octstr(); // 对于八进制
```
阅读全文