二进制位模式从左到右翻转
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
unsigned int reverse_bit(unsigned int value) {
unsigned int sum = 0;
for (int i = 0; i < 32; i++) {
//取出每一位跟1相与,再移位
sum += (value >> i & 1)<<(31-i);
}
return sum;
}
int main() {
int value = 0, sum = 0;
scanf("%d", &value);
sum = reverse_bit(value);
printf("%u\n", sum);
system("pause");
return 0;
}