c++二进制转十进制
时间: 2023-08-06 17:05:45 浏览: 47
C++ 中可以使用 `stoi` 函数将二进制字符串转换为十进制整数。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string binary = "1010101"; // 二进制字符串
int decimal = stoi(binary, nullptr, 2); // 将二进制字符串转换为十进制整数
cout << decimal << endl; // 输出结果:85
return 0;
}
```
其中,`stoi` 函数有三个参数:
- 第一个参数是要转换的字符串;
- 第二个参数是一个指针,用于返回转换失败的字符的位置,如果转换成功,则返回 `nullptr`;
- 第三个参数是基数,即要转换的字符串的数值进制。在本例中,传入的是 `2`,表示要将二进制字符串转换为十进制整数。
相关问题
c++ 二进制转十进制
在C++中,可以通过使用取模和除法运算符来将二进制数转换为十进制数。以下是一个示例代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int binaryToDecimal(int binary) {
int decimal = 0;
int base = 1;
while (binary > 0) {
int lastDigit = binary % 10;
decimal += lastDigit * base;
binary /= 10;
base *= 2;
}
return decimal;
}
int main() {
int binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
int decimalNumber = binaryToDecimal(binaryNumber);
cout << "Decimal equivalent: " << decimalNumber << endl;
return 0;
}
```
这段代码首先定义了一个函数`binaryToDecimal`,它接受一个二进制数作为参数,并返回对应的十进制数。在函数中,我们使用了一个循环来逐位处理二进制数。在每一次循环中,我们通过取模运算符获取二进制数的最后一位数字,并将其乘以对应的权重(2的幂次),然后将结果累加到十进制数中。接着,我们将二进制数除以10,以便处理下一位数字。最后,我们返回得到的十进制数。
在`main`函数中,我们首先要求用户输入一个二进制数,然后调用`binaryToDecimal`函数将其转换为十进制数,并将结果输出到屏幕上。
c++二进制转十进制代码
以下是用C++编写的二进制转十进制的代码示例:
```cpp
#include <iostream>
#include <cmath>
int binaryToDecimal(int binary) {
int decimal = 0;
int power = 0;
while (binary != 0) {
int remainder = binary % 10;
decimal += remainder * pow(2, power);
binary /= 10;
power++;
}
return decimal;
}
int main() {
int binary;
std::cout << "请输入一个二进制数: ";
std::cin >> binary;
int decimal = binaryToDecimal(binary);
std::cout << "转换为十进制数为: " << decimal << std::endl;
return 0;
}
```
这段代码首先提示用户输入一个二进制数,然后使用cin接收输入的二进制数。接着,定义一个函数binaryToDecimal来实现二进制转十进制的逻辑。在函数中,使用while循环,不断取出二进制数的每一位,并将其乘以2的对应次幂后累加到decimal变量中,同时将二进制数除以10并增加power次幂的值。最后,返回转换后的十进制数。
在main函数中,调用binaryToDecimal函数将输入的二进制数转换为十进制数,并输出转换后的结果。