c++二进制转换为十进制数
时间: 2024-10-07 22:08:17 浏览: 39
在C++中,将二进制数转换为十进制数通常通过迭代和位运算来实现。一种常见的方法是使用`std::bitset`或手动遍历二进制字符串。这里有一个基本的手动实现示例:
```cpp
#include <iostream>
#include <string>
// 函数来将二进制字符串转换为十进制
int binaryToDecimal(const std::string &binary) {
int decimal = 0;
int base = 1;
for (int i = binary.length() - 1; i >= 0; --i) {
if (binary[i] == '1') {
decimal += base;
}
base *= 2;
}
return decimal;
}
int main() {
std::string binaryString = "1010";
int decimalNumber = binaryToDecimal(binaryString);
std::cout << "Binary " << binaryString << " is equivalent to decimal " << decimalNumber << "." << std::endl;
相关问题
数据结构栈C++二进制转换十进制
以下是使用栈实现C++二进制转换十进制的代码:
```cpp
#include <iostream>
#include <cmath>
#include "stack.h"
using namespace std;
int main() {
Stack<char> s;
char c;
int sum = 0;
cout << "请输入二进制数,输入#号表示结束!" << endl;
cin >> c;
while (c != '#') {
s.push(c);
cin >> c;
}
int len = s.size();
cout << "栈的当前容量是:" << len << endl;
for (int i = 0; i < len; i++) {
s.pop(c);
sum += (c - '0') * pow(2, i);
}
cout << "转换为十进制为:" << sum << endl;
return 0;
}
```
C++把二进制转换为十进制
可以使用C++中的std::bitset和std::string来实现二进制转十进制的功能。
示例代码如下:
```cpp
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
int main()
{
string binary_str = "101010"; // 二进制字符串
bitset<32> bits(binary_str); // 将二进制字符串转换为 bitset 对象
cout << bits.to_ulong() << endl; // 输出转换后的十进制整数
return 0;
}
```
这段代码先定义了一个二进制字符串 `binary_str`,然后使用 `std::bitset` 将其转换为一个 `bits` 对象,最后使用 `to_ulong()` 方法将 `bits` 对象转换为一个十进制整数并输出。
阅读全文