每日OJ题_位运算⑤_力扣371. 两整数之和

目录

[力扣371. 两整数之和](#力扣371. 两整数之和)

解析代码


力扣371. 两整数之和

371. 两整数之和

难度 简单

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

示例 1:

复制代码
输入:a = 1, b = 2
输出:3

示例 2:

复制代码
输入:a = 2, b = 3
输出:5

提示:

  • -1000 <= a, b <= 1000
cpp 复制代码
class Solution {
public:
    int getSum(int a, int b) {

    }
};

解析代码

此题知识点就是异或运算为无进位相加,异或后想办法找到进位就行了,进位就是两个数按位与然后左移一位,重复相加至进位为0即为答案。

cpp 复制代码
class Solution {
public:
    int getSum(int a, int b) {
        while (b != 0)
        {
            unsigned int carry = (unsigned int)(a & b) << 1; // 进位
            a = a ^ b; // 无进位相加
            b = carry; // 进位不为0的话就一直加,如a已经是a^b的结果,再^b,加进位
        }
        return a;
    }
};
相关推荐
其实防守也摸鱼36 分钟前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
今天要早睡_1 小时前
C++01_入门基础复习
开发语言·c++
Nuanyt1 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
Fuyo_11194 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
w_zero_one4 小时前
递归算法(一)
java·开发语言·算法
圣保罗的大教堂4 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
文丑颜不良啊5 小时前
LeetCode1881~1990题目解析
java·leetcode
Chen_harmony5 小时前
七、STL与string类
开发语言·c++
xxxiugou1236 小时前
C++命名空间与引用全解析
开发语言·c++
风影同志783246 小时前
20 个比特能装下多少行情?——实测拆解 Kronos 的 K 线分词器
算法