
面试考官邢老师为您分享以下优质知识
在C语言中,通过`cin`输入二进制数据需要采用特殊处理方式,因为`cin`默认以十进制模式读取字符。以下是实现方法:
一、输入二进制数的方法
通过`cin.getline()`或`scanf`读取固定长度的字符数组,然后手动解析二进制位。
```c
include
int main() {
char binary = {0}; // 32位二进制数 + 1个结束符
printf("请输入32位二进制数: ");
if (scanf("%32s", binary) != 32) {
printf("输入错误!n");
return 1;
}
int value = 0;
for (int i = 0; i < 32; i++) {
if (binary[i] == '1') {
value += (1 >
input;
bool isValid = true;
for (char ch : input) {
if (ch != '0' && ch != '1') {
isValid = false;
break;
}
}
if (isValid) {
int value = 0;
for (size_t i = 0; i < input.size(); i++) {
value = (value