写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
按位加,相异为1,相同且为1则进位,直至无进位
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public: int Add(int num1, int num2) { while (num2 != 0) { const int base = num1 ^ num2; const int next = (num1 & num2) << 1; num2 = next; num1 = base; } return num1; } };
|