编写简单函数:让一个无符号数的二进制码按位反转,即1->32,32->1;
2016-05-29 22:49
274 查看
#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
相关文章推荐
- 不使用(a+b)/2这种方式,求两个数的平均值
- 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。
- Linux系统如何写C/C++程序
- Linux 入门——适合初学者本文转载于的博客原文
- 在字符串中找出第一个只出现一次的字符。经典C语言例题
- 实现函数,用字符串&quot;%20&quot;替换空格
- 使用冒泡排序,排序一组字符串
- 给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数
- 用C语言编写函数实现一个整数计算机,程序接受三个参数,第一个参数为操作项,后两个参数为操作数。
- 用C语言编程,实现调整数组,使奇数全部位于偶数前边,
- 用C语言编写函数,实现strlen计算字符串长度的功能
- 设计实现一个简易通讯录,要求使用结构体
- 将数字字符串转化为对应数字输出(不考虑溢出)
- 团队博客3
- Canvas和SVG
- 位运算-Single Number III(只有两个不同的数字出现了一次,其余出现了两次,找出这两个数)
- geekband android #5 第十三周分享(Btimap优化)
- 应用沙盒分析
- cocoaPods
- HDU 1856 More is better