算法题——翻转一个数
2015-11-13 23:40
190 查看
问题描述,翻转一个数的二进制位,例如将25翻转到2550136832
25:0000 0000 0001 1001 -----> 1001 1000 0000 0000 (2550136832)
25:0000 0000 0001 1001 -----> 1001 1000 0000 0000 (2550136832)
#include<stdio.h> unsigned int reverse_bit(unsigned int value) { unsigned int val = 0; int i = 0; for (i = 0; i < 31; i++) { if (value & 1 == 1) { val = val | 1; } value >>= 1; val <<= 1; } return val; } int main() { printf("%u\n",reverse_bit(25)); return 0; }
相关文章推荐
- Makefile项目管理
- 软碟通UltraISO 9.65.3237官方注册版
- HashMap遍历的两种方式,推荐使用entrySet()
- Struts2流程总结
- 机器学习算法之分类
- zoj 1048
- EDM营销技巧之如何快速解救垃圾箱中的邮件
- mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
- asn1笔记
- 单元测试使用心得
- asn1笔记
- Android Launcher3的自定义修改总结
- 个人阅读作业Week7
- Nginx反向代理----配置多个server
- 解决Xcode模拟器错乱问题
- Java的读取输入Scanner与Console类
- Java再学习——关于ConcurrentHashMap
- 个人阅读作业Week7
- linux vsftpd配置
- sql server 2008 操作数据表