输入一个int范围内的数 第一行输出一个32位二进制数 第二行输出一个32位二进制数 第三行输出一个32位二进制数c语言
时间: 2024-10-17 17:14:38 浏览: 32
JavaScript读写二进制数据的方法详解
5星 · 资源好评率100%
在C语言中,你可以通过以下步骤实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
// Function to convert decimal number to binary and print
void binary(int num) {
unsigned int binaryNum[4]; // Array to store individual bits
int i;
for (i = 0; i < sizeof(binaryNum); i++) {
binaryNum[i] = num % 2;
num /= 2;
}
printf("32位二进制数:\n");
for (i = sizeof(binaryNum) - 1; i >= 0; i--) {
printf("%d", binaryNum[i]);
}
printf("\n");
// Reverse the array for the next line of output
for (i = 0; i < sizeof(binaryNum)/2; i++) {
int temp = binaryNum[i];
binaryNum[i] = binaryNum[sizeof(binaryNum) - 1 - i];
binaryNum[sizeof(binaryNum) - 1 - i] = temp;
}
printf("反转后的32位二进制数:\n");
for (i = 0; i < sizeof(binaryNum); i++) {
printf("%d", binaryNum[i]);
}
printf("\n");
}
int main() {
int input;
printf("请输入一个32位整数(0 <= n <= 2^31 - 1): ");
scanf("%d", &input);
if(input >= 0 && input <= INT_MAX) { // Check for valid range
binary(input);
} else {
printf("输入超出有效范围!\n");
}
return 0;
}
```
在这个程序中,我们首先将用户输入的十进制数转换成二进制,并打印出原始的32位二进制表示。然后,我们将二进制数组反转以显示另一种排列。注意,这仅适用于正整数,因为负数在无符号32位二进制中有特殊的表示方式。
阅读全文