用C++从键盘输入一个二进制数,转换为十进制并输出,利用while语句
时间: 2024-11-20 15:55:50 浏览: 18
在C++中,你可以使用`std::cin`从键盘获取用户输入的二进制数,然后通过循环逐位转换成十进制形式。下面是一个简单的示例程序,它会提示用户输入二进制数字,并使用while循环处理每一位:
```cpp
#include <iostream>
#include <bitset> // 需要包含这个头文件来支持二进制数操作
int main() {
std::string binary; // 存储用户输入的二进制字符串
int decimal = 0; // 存放最终的十进制数值
std::cout << "请输入一个二进制数: ";
std::cin >> binary;
if (binary.empty()) { // 检查用户是否输入了空字符串
std::cerr << "输入错误,需要输入非空的二进制数.\n";
return 1;
}
// 将二进制字符串逆序遍历,因为二进制低位在前
for (int i = binary.length() - 1; i >= 0; --i) {
// 如果当前位是 '1'
if (binary[i] == '1') {
decimal += pow(2, i); // 加上对应的2的幂次
}
}
std::cout << "转换后的十进制数是: " << decimal << "\n";
return 0;
}
阅读全文