#include<stdio.h>
#include<stdlib.h>
unsigned int reverse_bit(unsigned  x)
{
 unsigned int a;
 unsigned int b=1,i,t;
  a = n&b;      //按位或
 for (i = 0; i < 31; i++)
 {
  a <<= 1;        //左移
  n >>= 1;        //右移
  t = n&b;
  a = a | t;
 }
 return a;         //返回反转后的数
}
int main()
{   
 unsigned int  value;
 printf("请输入您想要反转的数:");
 scanf("%d", &value);
 printf("反转后的数为:%d\n", reverse_bit(value)); //调用反转函数并输出
 system("pause");
 return 0;
}

本文只是在下在学习过程自己的想法,只能实现简单功能,可能还没考虑到程序的优化,与大神写出来的代码还有一定差距,如果那位大神发现了问题,请您不吝赐教,如果您还有更好的方法,不妨分享分享,谢谢!