在C语言中,输入二进制数字可以通过以下几种方法实现:
使用scanf函数和%b格式说明符
```c
include int main() { unsigned int binaryNum; printf("Enter a binary number: "); scanf("%b", &binaryNum); printf("You entered the binary number: %d\n", binaryNum); return 0; } ``` 这里,`%b`是专门用于读取二进制数的格式说明符。 ```c include int main() { char str; scanf("%s", str); int decimal = 0, base = 1, rem; for (int i = 0; str[i] != '\0'; i++) { if (str[i] == '1' || str[i] == '0') { decimal = decimal + (str[i] - '0') * base; base = base * 2; } else { printf("不是二进制数\n"); return 1; } } printf("对应的十进制数为: %d\n", decimal); return 0; } ``` 在这个示例中,我们首先使用`scanf`函数读取用户输入的字符串,然后通过循环将字符串中的每一位转换为二进制数,并计算其对应的十进制值。 ```c include int main() { char a; printf("请输入32位二进制数: "); scanf("%31s", a); // 限制输入长度为31个字符 int b = {0}, erdn = {128, 64, 32, 16, 8, 4, 2, 1}; for (int i = 0; i < 32; i++) { if (a[i] == '1') { b += erdn[i]; b += erdn[i - 8]; b += erdn[i - 16]; b += erdn[i - 24]; } } for (int i = 0; i < 4; i++) { printf("%d", b[i]); } printf("\n"); return 0; } ``` 这个示例中,我们使用了一个数组来存储32位二进制数的每一位,并通过查表将其转换为十进制数。 这些方法都可以有效地帮助你在C语言中输入二进制数字。选择哪种方法取决于你的具体需求和编程风格。使用scanf函数和%s格式说明符
使用scanf函数和自定义格式说明符