c++将十进制字符串转换成二进制数
时间: 2024-10-27 13:14:33 浏览: 34
c++将二进制字符串转换成十进制数
5星 · 资源好评率100%
在C++中,可以使用标准库函数`std::bitset`或者手动编写算法将十进制字符串转换为二进制数。以下是两个简单的方法:
**使用`std::bitset`:**
```cpp
#include <bitset>
#include <string>
int decimalToBinary(const std::string& decimalStr) {
int decimalNum = std::stoi(decimalStr);
std::bitset<32> binaryNum(decimalNum); // 如果数字小于32位,可以调整bitset大小
return binaryNum.to_ulong(); // 返回二进制整数值
}
```
**手动编码算法:**
```cpp
#include <iostream>
#include <vector>
bool isDigit(char ch) {
return ch >= '0' && ch <= '9';
}
std::string decimalToBinary(std::string decimalStr) {
std::string binaryStr;
for (char ch : decimalStr) {
if (isDigit(ch)) {
binaryStr += std::to_string(1 << (ch - '0'));
}
}
return binaryStr;
}
```
这两个例子都是先将字符串转换为整数,然后分别通过`std::bitset`将其表示为二进制形式或将每一位乘以相应的二进制值。
阅读全文