C++把二进制转换为十进制
时间: 2023-07-27 13:05:51 浏览: 59
可以使用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` 对象转换为一个十进制整数并输出。
相关问题
二进制转换为十进制c++代码
以下是将二进制数转换为十进制数的 C++ 代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int binaryToDecimal(int n) {
int decimalNumber = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimalNumber += remainder * pow(2, i);
++i;
}
return decimalNumber;
}
int main() {
int binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
cout << binaryNumber << " in binary = " << binaryToDecimal(binaryNumber) << " in decimal";
return 0;
}
```
该代码首先定义了一个名为 `binaryToDecimal` 的函数,该函数接受一个二进制数作为参数,并将其转换为十进制数。然后,`main` 函数通过用户输入接收一个二进制数,并将其传递给 `binaryToDecimal` 函数进行转换。最后,程序输出二进制数和相应的十进制数。
数据结构栈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;
}
```