c++怎么把二进制数变成字符串
时间: 2024-10-21 15:04:24 浏览: 25
在C++中,将二进制数转换为字符串可以通过位运算或者使用标准库提供的函数来完成。以下是一个使用`std::bitset`和`std::to_string`结合的例子:
```cpp
#include <iostream>
#include <bitset>
#include <sstream>
std::string binaryToString(unsigned long long num) {
std::stringstream ss;
std::bitset<64> bitset(num); // 64位确保能存储任意大小的无符号整数
for (std::size_t i = 0; i < bitset.size(); ++i) {
ss << bitset.test(i);
}
return ss.str();
}
int main() {
unsigned long long binaryNum = 0b101010101010; // 二进制数
std::string strNum = binaryToString(binaryNum);
std::cout << "Binary to string: " << strNum << std::endl;
return 0;
}
```
这段代码首先创建了一个`std::bitset`,并将其设置为给定的二进制数。然后,它遍历`std::bitset`的每一位,并使用`.test()`方法检查每一位是否为1,再添加到`std::stringstream`中,最后得到的就是字符串形式的二进制数。
阅读全文