两整数之和(Java)

两整数之和

题目:

不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。

思想:

a + b 的问题拆分为 (a 和 b 的无进位结果) + (a 和 b 的进位结果)
无进位加法使用异或运算计算得出进位结果使用与运算和移位运算计算得出循环此过程,直到进位为 0。

代码:

class Solution {
    public int getSum(int a, int b) {
        while(b!=0){
            int res = (a&b)<<1; //想左移动一位
            a = a^b;
            b = res;
        }
        return a;
    }
}
发布了36 篇原创文章 · 获赞 2 · 访问量 978

猜你喜欢

转载自blog.csdn.net/y18771025420/article/details/102653759