c++ 二进制转十进制
时间: 2024-01-07 08:23:13 浏览: 35
在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`函数将其转换为十进制数,并将结果输出到屏幕上。