优选算法_两数之和_位运算_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;
    }
};
相关推荐
霸道流氓气质8 分钟前
ApiPost 中配置自动获取 Token 并调用业务接口完整指南
java·服务器·数据库
格林威14 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
独隅28 分钟前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea
小大宇41 分钟前
Python 集成 Conda
开发语言·python·conda
ShineWinsu44 分钟前
对于Linux:模版方法类的解析以及socket、TcpSocket的封装
linux·c++·面试·socket·模板方法模式·封装·tcpsocket
还是奇怪1 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
zfoo-framework1 小时前
1.ansible安装 2.虚拟机克隆
java
码上解惑1 小时前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
稚南城才子,乌衣巷风流2 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm2 小时前
9 找到字符串中所有字母异位词
c++·算法·leetcode