不用加减乘除做加法
题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路:利用“异或”和“与”操作模拟加法和进位操作
1 class Solution { 2 public: 3 int Add(int num1, int num2) 4 { 5 int carry=num1 & num2; 6 int sum=num1 ^ num2; 7 while(carry) 8 { 9 num1=carry<<1; 10 num2=sum; 11 sum=num1 ^ num2; 12 carry=num1 & num2; 13 } 14 return sum; 15 } 16 };