//相当于是把加法变成了两部分,一部分是直接得出了无进位的值 a ,另一部分是进位 b,我们的最终目的是把 a 和 b 合起来得到最终的结果,但是a 和 b 得到最终结果的过程又是一次加法。
//于是加到最后进位为0,就是说没有进位了,a 就是我们想要的结果。加法能做,那么减法,,乘法是不是也就可以了,

  public int Add(int num1,int num2){
      while(num2!=0){
          int tmp1=num1^num2; // 无进位加法
          int tmp2=num1&num2<<1;//得到进位,进位为0就退出
          num1=tmp1;
          num2=tmp2;//进位的值与无进位的结果一起相加
      }
      return num1;
  }