leetcode-位运算

位运算

371. 两整数之和

题目

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

示例 1:
输入: a = 1, b = 2 输出: 3
示例 2:
输入: a = 2, b = 3 输出: 5

提示:

  • -1000 <= a, b <= 1000
题解
javascript 复制代码
/**
 * @param {number} a
 * @param {number} b
 * @return {number}
 */
var getSum = function (a, b) {
    // 示例1 2 + 2  10  10
    // 示例2 1 + 2  01 10
    while (b !== 0) {
        /**
         * 有值就是有进位
         * 1. & 两个位都为1时,结果才为1
         * 2. << 左移进位
         */
        const carry = (a & b) << 1;
        /**
         * 1. ^ 两个位相同为0,不同为1
         */
        a = a ^ b; // 示例1 00 示例2 11
        b = carry; // 示例1 100 示例2 00
    }
    return a; // 示例1 100 示例2 11
};
相关推荐
cxxcode2 分钟前
CSS Loader 与样式处理链路
前端·css
电商API_180079052472 分钟前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
cxxcode2 分钟前
CSS 隔离与 qiankun 样式问题总结
前端
__sjfzllv___10 分钟前
在职前端Leader学习/转行 AI Agent -DAY3
前端
ysa05103012 分钟前
【板子】欧拉序
c++·笔记·算法·深度优先·图论
miss15 分钟前
海康威视 IoT 平台前端实战:视频流、海量设备与实时数据可视化
前端·javascript·物联网
大耳朵糊涂15 分钟前
链表的基础操作(二)
算法
用户28497095255718 分钟前
基于MQTT+SpringBoot的实验室设备数据采集与实时监控系统实战
前端
前端肥猿18 分钟前
控制台中添加插件面板
前端
拂拉氏20 分钟前
【知识讲解】 红黑树的删除讲解
数据结构·算法·红黑树