做加法

不用加减乘除做加法

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;
  }
全部评论

相关推荐

11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务