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

目录

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

解析代码


力扣371. 两整数之和

371. 两整数之和

难度 简单

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

示例 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;
    }
};
相关推荐
汉克老师4 分钟前
CSP-J 初赛(以满分为目标):第二十一课 《树与二叉树基础—— 一棵树,为什么会成为计算机最重要的数据结构之一?》
c++·csp-j·小学生·学c++编程
别动我齐刘海26 分钟前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
dear_bi_MyOnly31 分钟前
数组字符串深度解析:从入门到卡牌实战
开发语言·c++·学习
Navigator_Z34 分钟前
LeetCode //C - 1223. Dice Roll Simulation
c语言·算法·leetcode
171320330计算机毕设编程37 分钟前
2027计算机毕设五大方向对比&选题推荐
java·ide·python·算法·django·php·推荐算法
Tisfy40 分钟前
LeetCode 2058.找出临界点之间的最小和最大距离:遍历+遇到极值则更新(这种题谁空间复杂度不是O(1)啊)
linux·数据库·leetcode·链表·题解·模拟·遍历
万物智能1 小时前
设备树DTS-【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·算法
代码不停1 小时前
子数组问题
java·算法
小欣加油1 小时前
Leetcode2058 找出临界点之间的最小和最大距离
数据结构·c++·算法·leetcode·职场和发展
华华哥20221 小时前
《模型不玄学》第25章 双头模型:共享底座 + 两个分支
算法