优选算法_两数之和_位运算_C++

一.题目解析:

两=-整数的和不用加法

算法解析:

我们知道异或是一种不进位的加法

所以我们用这种特殊的加法来代替

我们找进位就很简单了,1和1进位,&的特性就是有0就是0,就可以找到哪里是进位,进一位应该是往前一位,所以我们左移(<<1)一位.

下面我们举个例子来展现所有过程:

13+23=36,即01101+10111=100100

二.代码编写

cpp 复制代码
class Solution {
public:
    int getSum(int a, int b) {
        while(b!=0)//找不到进位了,退出
        {
            int x=(a&b)<<1;//寻找进位
            a=a^b;//不进位的加法
            b=x;
        }
        return a;
    }
};
相关推荐
To_OC9 分钟前
LC 560 和为 K 的子数组:前缀和配哈希表,这对组合我是真的服了
javascript·算法·程序员
EntyIU29 分钟前
NFS离线部署
java
hans汉斯1 小时前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
叠层归一研究院1 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
明朝百晓生1 小时前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
weixin-a153003083162 小时前
python-装饰器
开发语言·python
其美杰布-富贵-李2 小时前
08 进阶评估指标与算法特定指标
人工智能·算法
我的xiaodoujiao2 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
.道阻且长.3 小时前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
我是海飞3 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理