(x&y)+((x^y)>>1)
2015-08-24 15:13
330 查看
程序员面试宝典中(x&y)+((x^y)>>1)的结果分析:
首先先看看数据的三种对应情况
1) 0 与 0对应
2) 0 与 1对应
3) 1 与 1对应
所以得到
1、是x,y对应位都是1,既1&1 = 1,,也就是(x+y)/2;
2、是x,y中对应位有且只有一位是1,用(x^y)相当于计算这些位的和,>>1相当于除2;
3、是x,y中对应位均为0,无须计算。
首先先看看数据的三种对应情况
1) 0 与 0对应
2) 0 与 1对应
3) 1 与 1对应
所以得到
1、是x,y对应位都是1,既1&1 = 1,,也就是(x+y)/2;
2、是x,y中对应位有且只有一位是1,用(x^y)相当于计算这些位的和,>>1相当于除2;
3、是x,y中对应位均为0,无须计算。
相关文章推荐
- zookeeper原理(转)
- Linux中的一些查询指令
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- Ubuntu 安装OpenOffice操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- 如何制作LINUX的patch文件及如何打patch
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- OAF学习笔记-10-Update的操作
- 如何通过github提升自己
- POJ - 1050 To the Max
- hdu 3183 A Magic Lamp 贪心