85.不用加减乘除做加法
写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、×、÷+、-、×、÷ 四则运算符号。
样例
输入:num1 = 1 , num2 = 2
输出:3
对于对二进制数进行位运算来说,将其异或就是进行无进位的运算,得出的用于进位的数字可以用两数进行相与操作得到,乘以进制即可。
代码如下:
class Solution {
public:
int add(int num1, int num2){
while(num2)
{
int m = num1^num2 ;
unsigned int n = ((unsigned int)num1&num2 ) << 1;
num1 = m ;
num2 = n ;
}
return num1 ;
}
};