二进制转化为十进制c++用while
时间: 2024-10-28 22:07:09 浏览: 27
c++,二进制转换十进制
在C++中,将二进制数转换成十进制可以使用循环结构如`while`,通过逐位相加的方式实现。这里是一个简单的示例:
```cpp
#include <iostream>
#include <bitset>
int binaryToDecimal(std::string binary) {
int decimal = 0;
int power = 0;
while (binary.length() > 0) {
char lastDigit = binary.back(); // 获取当前位
binary.pop_back(); // 移除最后一位
if (lastDigit == '1') {
decimal += pow(2, power); // 如果是1,则加上对应的2的幂次
}
power++;
}
return decimal;
}
int main() {
std::string binaryInput = "101010"; // 二进制数
int decimalOutput = binaryToDecimal(binaryInput);
std::cout << "Binary " << binaryInput << " is equal to decimal " << decimalOutput << std::endl;
return 0;
}
```
在这个例子中,我们创建了一个名为`binaryToDecimal`的函数,它接受一个字符串类型的二进制数作为输入。`while`循环会一直运行,直到二进制字符串变为空。每次迭代,我们将二进制字符串的最右边一位乘以2的相应次方(由`power`变量记录),然后累加到`decimal`中。
阅读全文