写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、×、÷+、-、×、÷ 四则运算符号。

样例

1
2
3
输入:num1 = 1 , num2 = 2

输出:3

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public:
    int add(int num1, int num2){
        //case:1
        // 000001
        // 000010
        
        //--------\
        //case:2
        // 00001
        // 00011
        //int res=0;
        while(   num2)
        {
           int lastBit = num2^num1;      //低位 , 加法
           int hibit = (num1 & num2) <<1;//进位 ,只有1位
           num1 = lastBit;
           num2 = hibit;
        }
         
        return  num1;
    }
};