剑指offer 不用加减乘除做加法
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路:利用位运算
1 class Solution { 2 public: 3 int Add(int num1, int num2) 4 { 5 if (num2 == 0) { 6 return num1; 7 } 8 return Add(num1^num2, (num1&num2) << 1); 9 10 /* int tmp; 11 while(num2 != 0) { 12 tmp = num1 ^ num2; 13 num2 = (num1 & num2) << 1; 14 num1 = tmp; 15 } 16 return num1; 17 */ 18 } 19 };
越努力,越幸运