//1.编写函数:
// unsigned int reverse_bit(unsigned int value);
//这个函数的返回值value的二进制位模式从左到右翻转后的值。
//
// 如:
// 在32位机器上25这个值包含下列各位:
// 00000000000000000000000000011001
// 翻转后:(2550136832)
// 10011000000000000000000000000000
// 程序结果返回:
// 2550136832
代码
#include<stdio.h>
#include <math.h>
unsigned int reverse_bit(unsigned int value) {
unsigned int sum = 0;
int i;
for( i = 0;i<32;i++) {
sum+=((value>>i)&1)*pow(2,31-i);
}
return sum;
}
int main () {
unsigned int i = 25;
printf("%u",reverse_bit(i));
return 0;
}