371. 两整数之和(JavaScript)

不使用运算符 + 和-,计算两整数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;
};

 

全部评论

相关推荐

昨天 18:44
已编辑
中山职业技术学院 Java
投递文远知行等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务