Я делал этот вопрос в Leetcode.
Запрос:
Вычислите сумму двух целых чисел a и b, но вы не можете использовать операторы + и -.
Я не могу понять решение, которое оно дало
Может кто-нибудь объяснить, как работает эта функция getSum
?
Вот ответ в JS:
var getSum=function(a,b) {
const Sum = a^b; //I can't understand how those two line code can
const carry = (a & b) << 1; //get the sum
if(!carry) {
return Sum
}
return getSum(Sum,carry);
};
console.log(getSum(5,1));