题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
分析
既然不让使用加减乘除符号,只能考虑位运算了。
0+1=1;0+0=0;1+1=10
观察到可以使用异或,而且要考虑到进位的问题。
代码实现
function Add(num1, num2) { var sum = num1; while(num2 !== 0){ sum = num1 ^ num2; num2 = (num1 & num2) << 1; num1 = sum; } return sum; }