如:
在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
10011000000000000000000000000000
程序结果返回:
2550136832
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
unsigned int reverse_bit(unsigned int value)
{
int i = 0;
int j = 0;
char arr[32];
for (i = 0; i < 32; ++i)
{
arr[j] = ((value >> i) & 1);
j++;
}
printf("二进制正序序列为:");
for (i = 31; i >= 0; i--)
{
printf(" %d", arr[i]);
}
printf("\n");
printf("二进制逆序序列为:");
for (i = 0; i < 32; i++)
{
printf(" %d", arr[i]);
}
printf("\n");
}
int main()
{
int value = 0;
printf("请输入一个数:");
scanf("%d", &value);
reverse_bit(value);
system("pause");
return 0;
}