题目:二进制到十进制的转换器
描述
编写一个程序,将用户输入的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;
}
运行截图: