1.利用位操作求两个整数的平均数
(a&b) + ((a^b) >> 1)
2.利用位操作来求两个整数之和
int Add(int a, int b) { if (b == 0)return a; int Different, Small; Different = a^b; Small = (a&b) << 1; return Add(Different, Small); }
原文:http://www.cnblogs.com/shihaochangeworld/p/5592196.html