剑指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 }

 

posted @ 2020-07-29 19:40  ZyLin-ux  阅读(101)  评论(0编辑  收藏  举报