将std::string类型的二进制字符串转换为long long类型的十进制整数,使用for循环的形式
时间: 2025-01-02 14:46:29 浏览: 5
将`std::string`类型的二进制字符串转换为`long long`类型的十进制整数,可以按照以下步骤使用C++的for循环:
首先,你需要包含必要的头文件,并假设`binary_string`是你存储二进制数据的`std::string`变量:
```cpp
#include <iostream>
#include <bitset>
std::string binary_string;
// 假设已经读取了二进制字符串
long long decimal_number = 0;
void convertBinaryToDecimal() {
for (size_t i = 0; i < binary_string.length(); ++i) {
if (binary_string[i] == '1') {
decimal_number |= (1LL << (binary_string.length() - 1 - i)); // 将二进制位向左移并按位或到decimal_number上
}
}
}
int main() {
convertBinaryToDecimal();
std::cout << "The decimal number is: " << decimal_number << std::endl;
return 0;
}
```
在这个例子中,我们从二进制字符串的右端开始,逐个字符处理,如果是'1',就将其对应的二进制位置设置为1(通过左移运算)。最终得到的就是二进制表示的十进制值。
阅读全文