题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
两个数相加=进位+原始位
即a+b = a^b + (a&b)<<1
class Solution { /* a+b = 进位值 + 不进位的和 */ public: int Add(int num1, int num2) { int n1 ; int n2 ; while(num2!=0){ n1 = num1 ; n2 = num2 ; num1 = n1^n2; num2 = (n1&n2)<<1 ; } return num1 ; } };