不使用运算符 + 和 - ,计算两整数 a 、b 之和。
示例1: 输入: a = 1, b = 2 输出: 3
示例2: 输入: a = -2, b = 3 输出: 1
/**
* @param {number} a
* @param {number} b
* @return {number}
*/
var getSum = function(a, b) {
};
个人解法
大佬思路:两个整数a, b; a ^ b是无进位的相加; a&b得到每一位的进位;让无进位相加的结果与进位不断的异或, 直到进位为0。
var getSum = function(a, b) {
var result = a ^ b,
jinwei = (a & b) * 2;
console.log(result , jinwei);
while(jinwei !== 0){
var num = result;
result = result ^ jinwei;
jinwei = (num & jinwei) * 2;
}
return result;
};