不用+

不用+/-求两数之和

问题

这个题目说的是,给你两个整数,在不使用 +/- 这两个运算符的前提下,求它们的和。

代码

public class AlgoCasts {

  public int getSumRecursive(int a, int b) {
    return b == 0 ? a : getSumRecursive(a^b, (a&b)<<1);
  }

  
  public int getSumIterative(int a, int b) {
    while (b != 0) {
      int sum = a ^ b;
      int carry = (a & b) << 1;
      a = sum;
      b = carry;
    }
    return a;
  }

}