1、键盘输入一个int类型的整数,对其求二进制表现形式。如果录入整数过大,给以提示“录入整数过大,请重新输入一个整数”;如果录入的是小数,给提示“录入的是小数,请重新输入一个整数”;如果录入的其他字符,请提示“录入的是非法字符,请输入一个整数”。
时间: 2024-05-05 18:18:28 浏览: 105
答案:请按照以下代码操作:
```
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
if(cin.fail()) {
cout << "录入的是非法字符,请输入一个整数。" << endl;
return 0;
}
if(num < 0) {
cout << "抱歉,不支持负数转换为二进制。" << endl;
return 0;
}
if(num > INT_MAX) {
cout << "录入整数过大,请重新输入一个整数。" << endl;
return 0;
}
if(num == 0) {
cout << "0的二进制形式为:0" << endl;
return 0;
}
cout << num << "的二进制形式为:";
int arr[32] = {0};
int i = 0;
while(num > 0) {
arr[i++] = num % 2;
num /= 2;
}
for(int j = i - 1; j >= 0; j--) {
cout << arr[j];
}
cout << endl;
return 0;
}
```
当录入整数过大时会提示重新输入整数,当录入小数时会提示重新输入整数,只有录入合法的整数才会在屏幕上显示出对应的二进制形式。
阅读全文