leetcode371. Sum of Two Integers

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Example:
Given a = 1 and b = 2, return 3.

一般步骤:

1、计算不用进位的位置,使用异或

2、计算进位,算数与操作,计算完后左一一位

3、如此循环

 

class Solution {
public:
    int getSum(int a, int b) {
       int carry = 0;
       while(b)
       {
           a = a^ b;
           carry = a&b;
           b = carry << 1;
           
       }
       return a;
    }
};

  

posted @ 2016-08-20 13:05  sunalive  Views(93)  Comments(0)    收藏  举报