Как добавить два числа в JavaScript «без использования операторов« + »или« -` »?

Я знаю, что альтернатива использованию знака + для сложения - сделать что-то вроде этого:

int add(int a, int b)
{
     if(b == 0)
         return sum;
     sum = a ^ b;
     carry = (a & b) << 1;
     return add(sum,carry);
}

Но у меня есть две проблемы:

  • Это C ++ , а не JavaScript. Поддерживается ли это в JavaScript?
  • Очевидно, что весь трюк в ^ & <<, но я не знаю, как начать искать их в JavaScript, потому что я надеваю не знаю, как они называются . Что я должен гуглить на четность?

Я пытался написать это на JavaScript ... но, кажется, что-то упустил

var getSum = function(a, b) {
  return (a ^ b, (a & b) << 1)
};
17
задан Peter Mortensen 20 August 2019 в 18:34
поделиться