数字转换为二进制字std::string
时间: 2024-11-28 14:13:27 浏览: 29
将数字转换成二进制字符串在C++中通常使用`std::bitset`或手动位操作结合`std::stringstream`来实现。以下是两个方法的示例:
**方法一:使用`std::bitset`**
```cpp
#include <bitset>
#include <sstream>
std::string decimalToBinary(int decimalNumber) {
std::bitset<32> binaryBitset(decimalNumber); // 可能需要调整大小,这里假设是32位整数
std::ostringstream oss;
oss << binaryBitset.to_string();
return oss.str();
}
```
**方法二:手动位操作和`std::stringstream`**
```cpp
#include <sstream>
#include <iomanip>
std::string decimalToBinary(int decimalNumber) {
std::ostringstream oss;
while (decimalNumber > 0) {
oss << static_cast<char>((decimalNumber % 2) + '0'); // '0' 和 '1'
decimalNumber /= 2;
}
oss << std::endl; // 如果你需要添加换行符
return oss.str();
}
```
在这两个例子中,我们分别通过`std::bitset`和位运算获取二进制表示,并将其转换为字符串返回。
阅读全文