Я знаю, что альтернатива использованию знака +
для сложения - сделать что-то вроде этого:
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)
};