LintCode Flip Bits 将整数A转换为B
2015-06-25 14:04
435 查看
如果要将整数A转换为B,需要改变多少个bit位?
样例
如把31转换为14,需要改变2个bit位。
(31)10=(11111)2
(14)10=(01110)2
挑战
你能想出几种方法?
Determine the number of bits required to flip if you want to convert integer n to integer m.
Example
Given n = 31 (11111), m = 14 (01110), return 2.
Note
Both n and m are 32-bit integers.
样例
如把31转换为14,需要改变2个bit位。
(31)10=(11111)2
(14)10=(01110)2
挑战
你能想出几种方法?
Determine the number of bits required to flip if you want to convert integer n to integer m.
Example
Given n = 31 (11111), m = 14 (01110), return 2.
Note
Both n and m are 32-bit integers.
class Solution { /** *@param a, b: Two integer *return: An integer */ public static int bitSwapRequired(int a, int b) { int c = a ^ b; int count = 0; if (c < 0) { count++; c = Integer.MIN_VALUE ^ c; } while(c != 0) { count += c%2; c = c/2; } return count; } }
相关文章推荐
- openlayer 控制图层显示
- Object c中的alloc和init问题
- highchart 中数据千分位显示为空格而不是逗号的解决方案
- MIME_TYPE总结
- Eclipse+PyDev+Django+Mysql搭建Python web开发环境
- 让自己痛苦的工作不是好工作
- 被虐记 2 期末测试
- Intent带参数跳转
- android网络请求不能放在主线程
- 字符串-02 删除字符串中的子串(20)
- Nodepad++ 快捷键
- Java Reflection(四):方法
- iOS开发之即时通讯之环信
- 云备份调研报告
- LoaderCallbacks函数
- Android开发—1.NDK开发入门与SO模块生成
- 设计模式-单例模式
- 如何成为一名数据科学家?
- HTTP协议详解
- android PopupWindow和AlertDialog区别