不使用运算符 + 和-,计算两整数a 、b之和。

示例:
若 a = 1 ,b = 2,返回 3。


思路:

不使用 + 和 -, 那就要站在二进制的角度来考虑使用与或非、异或等相关操作。

详细按位操作请看另一篇文章:JavaScript按位相关操作

/**
 * @param {number} a
 * @param {number} b
 * @return {number}
 */
var getSum = function(a, b) {
  var temp;
  while (a !== 0) {
    temp = (a & b) << 1;  // a & b 得到所有需要进位的地方,左移一位完成进位。
    b = a ^ b;            // a ^ b 得到a与b不一样的地方,即不需要进位的地方
    a = temp;
  }
  return b;
};