剑指offer-JZ48-不用加减乘除做加法(C++)
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
心得:两数相加还能这么表示
1 #include <iostream> 2 3 using namespace std; 4 5 class Solution 6 { 7 public: 8 int Add(int num1, int num2) 9 { 10 while (num2 != 0) 11 { 12 int temp = num1; 13 num1 = num1^num2; 14 num2 = (temp&num2) << 1; 15 16 17 } 18 return num1; 19 } 20 }; 21 22 int main() 23 { 24 Solution sol; 25 int num1 = -22; 26 int num2 = -15; 27 int sum = sol.Add(num1, num2); 28 cout << sum << endl; 29 30 int u; 31 cin >> u; 32 33 return 0; 34 }