码迷,mamicode.com
首页 > 其他好文 > 详细

编写简单函数:让一个无符号数的二进制码按位反转,即1->32,32->1;

时间:2015-10-25 22:46:03      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:整数的二进制反转   c程序   

#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;
}

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

本文出自 “分享中进步” 博客,请务必保留此出处http://xmwen1.blog.51cto.com/10730069/1706063

编写简单函数:让一个无符号数的二进制码按位反转,即1->32,32->1;

标签:整数的二进制反转   c程序   

原文地址:http://xmwen1.blog.51cto.com/10730069/1706063

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!