做加法

不用加减乘除做加法

http://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215

//相当于是把加法变成了两部分,一部分是直接得出了无进位的值 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;
  }
全部评论

相关推荐

M_bao:换个排版吧哥们,看着费劲
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务