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

 

posted @ 2019-03-06 00:06  琴影  阅读(97)  评论(0编辑  收藏  举报