美文网首页
LintCode:A+B【位运算】

LintCode:A+B【位运算】

作者: VickyShen | 来源:发表于2019-02-21 17:30 被阅读0次

问题描述:

给出两个整数 a 和 b , 求他们的和。(不使用+等算数运算符)

思路

关键点:不考虑进位的求和 x^y;进位 x&y
步骤:

  1. 通过对x和y进行&位运算,得出每一位上的进位。
  2. 对x和y进行^位运算,得出没有加进位的和。
    3.将所得的和当做新的x,所得的进位往左移一位(第零位的进位输入为0)当做新的y,继续做上面的步骤,直到进位为0。
    此时x中保存的就是x和y的和了。
    递归的条件就是x=0或y=0
    代码
    public int plus(int a,int b){
        if(a==0)
            return b;
        if(b==0)
            return a;
        int a1 =a^b;
        int b1= (a&b)<<1;
        return plus(a1,b1);
       
    }

相关文章

  • LintCode:A+B【位运算】

    问题描述: 给出两个整数 a 和 b , 求他们的和。(不使用+等算数运算符) 思路 关键点:不考虑进位的求和 x...

  • winng的二月第一周题目

    [1] A+B问题 |lintcode1 思路:题目中要求用位运算,百度位运算实现。然后开心地发现了这篇简书,写的...

  • 第七天,位运算和函数运算

    位运算:简写参与运算的返回值:如: var a=a+b 可写为 var a+=b. a+1=a++=++a. 但a...

  • A+B问题

    不用加号计算A+B,我们用异或运算和与运算以及位运算来实现同等的操作,A^B的二进制异或运算,相当于没有进位的加号...

  • lintcode A+B问题

    这道题我们当然可以 return a + b来AC,但是那并不是此题的本意,这道题的意思是让我们不使用加号来实现加...

  • Update Bits

    Update Bits 今天的题目来自LintCode,是一道关于数学和位运算的题目,难度为Medium, Acc...

  • 运算符

    1.算术运算符 a+b - a-b a...

  • Matrix与坐标转换

    1、矩阵的运算 1.1、矩阵的加减运算 比如矩阵A= B= 则A+B= 矩阵的加减运算,表示 运算性质 满足交换律...

  • TJOJ 1000 以及OJ使用注意事项

    v1.0.01a 菜如我 TJ-SSE A+B problem 以及oj使用问题 1. 简单的加法运算"A+B ...

  • LintCode A+B Problem Python

    Description:Write a function that add two numbers A and B...

网友评论

      本文标题:LintCode:A+B【位运算】

      本文链接:https://www.haomeiwen.com/subject/heddyqtx.html