//如:
//在32位机器上25这个值包含下列各位:
//00000000000000000000000000011001
//翻转后:(2550136832)
//100110000000000000000000000
#include<stdio.h>
unsigned int reverse_bit(unsigned int num){
unsigned int ret=0;
int i=0;
for(i=0;i<32;i++)
{
ret+=((num>>i)&1)*pow(2,31-i);
}
return ret;
}
int main()
{
unsigned int num=25;
printf("%u\n", num);
printf("%u\n",reverse_bit(num));
return 0;
}