位运算中等 LeetCode371. 两整数之和

阅读 34

2022-02-03

371. 两整数之和

描述

给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和。

分析

^ 两数异或表示两数相加且没进位
& 两数想与表示两数相加的进位且向右移1
当进位为0,说明相加结束了。

class Solution {
    public int getSum(int a, int b) {
        int sum = a;
        int progress = b;
        while(progress != 0){
            int sumtmp = sum ^ progress;
            int progresstmp = (sum & progress) << 1;
            sum = sumtmp;
            progress = progresstmp;
        }
        return sum;
    }
}

精彩评论(0)

0 0 举报