C++ 2转10进制代码
时间: 2024-09-09 16:07:30 浏览: 24
在C++中,将一个二进制数转换成十进制可以使用位运算符来逐位相加。这里是一个简单的示例,假设我们有一个`char`类型的二进制字符串:
```cpp
#include <iostream>
// Function to convert binary to decimal
int binaryToDecimal(char binaryNum[])
{
int decimal = 0;
int base = 1;
for (int i = strlen(binaryNum) - 1; i >= 0; i--)
{
if (binaryNum[i] == '1')
decimal += base;
base <<= 1; // Shift the base left by one position
}
return decimal;
}
int main()
{
char binary[] = "1010"; // Example binary number
std::cout << "Binary: " << binary << "\n";
int decimalValue = binaryToDecimal(binary);
std::cout << "Decimal: " << decimalValue << "\n";
return 0;
}
```
这个函数从右到左遍历二进制字符串,如果当前位是1,就将对应的权重值加到结果上,然后将权重值翻倍准备处理下一位。注意,你需要确保输入的是有效的二进制字符串。