c++ 十进制数转二进制字符串
时间: 2024-09-08 08:04:53 浏览: 103
在 C++ 中,将十进制整数转换成二进制字符串通常可以使用内置函数 `bitset` 或者手动通过循环进行位操作。以下是两种常见方法:
1. 使用 `bitset` 和 `to_string` 函数:
```cpp
#include <bitset>
#include <string>
std::string decimalToBinary(int decimal) {
std::bitset<32> binary(decimal); // 32位足够表示32位整数,可根据需要调整位数
return binary.to_string();
}
```
在这个例子中,`decimalToBinary` 函数接受一个整数,将其转换为32位的二进制 bitset,然后使用 `to_string` 将 bitset 转换成字符串。
2. 手动进行位运算:
```cpp
#include <iostream>
#include <string>
std::string decimalToBinary(int decimal) {
std::string binary;
while (decimal > 0) {
binary = std::to_string(decimal % 2) + binary; // 余数加到前面
decimal /= 2;
}
if (binary.empty()) {
binary = "0"; // 如果输入是0,直接返回"0"
}
return binary;
}
```
这个版本通过不断取余数并左移除最低位二进制位,直到整数变成0,最后把得到的每一位连接起来形成二进制字符串。
阅读全文