剑指offer——面试题47:不用加减乘除做加法

来源:互联网 发布:java中string大小 编辑:程序博客网 时间:2024/06/07 05:26

题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号

我的代码:

class Solution {public:    int Add(int num1, int num2)    {        int temp1,temp2;      if(num1 == 0)              return num2;        temp1 = (num1 & num2) << 1;       // temp1 = temp1 << 1;        temp2 = num1 ^ num2;                return Add(temp1,temp2);    }};

《剑指offer》上的 P238,代码:

int Add(int num1,int num2){    int sum,carry;    do      {         sum = num1 ^ num2;         carry = (num1 & num2) << 1;                  num1 = sum;         num2 = carry;   }while(num2 != 0);       return num1;}


 
阅读全文
2 0