您的位置:首页 > 其它

(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,无须计算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: