【C++练习】二进制到十进制的转换器
题目:二进制到十进制的转换器
描述
编写一个程序,将用户输入的8位二进制数转换成对应的十进制数并输出。如果用户输入的二进制数不是8位,则程序应提示用户输入无效,并终止运行。
要求
- 程序应首先提示用户输入一个8位二进制数。
- 验证输入的字符串是否为8位,如果不是,则输出错误信息并终止程序。
- 如果输入有效,则将8位二进制数转换为十进制数。
- 输出转换后的十进制数。
源代码:
#include <iostream>
#include <string>
using namespace std;int binaryToDecimal(string binary) {int decimal = 0;for (int i = 0; i < binary.length(); ++i) {decimal = decimal * 2 + (binary[i] - '0');}return decimal;
}int main() {string binary;cout << "请输入一个8位二进制数: ";cin >> binary;if (binary.length() != 8) {cout << "输入的不是8位二进制数,请重新输入。" << endl;return 1;}int decimal = binaryToDecimal(binary);cout << "转换后的十进制数是: " << decimal << endl;return 0;
}
运行截图: