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
};
相关推荐
haogexiaole1 小时前
vue知识点总结
前端·javascript·vue.js
哆啦A梦15883 小时前
[前台小程序] 01 项目初始化
前端·vue.js·uni-app
汉克老师5 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(5、机甲战士)
c++·算法·蓝桥杯·01背包·蓝桥杯c++·c++蓝桥杯
小周同学@5 小时前
谈谈对this的理解
开发语言·前端·javascript
Wiktok5 小时前
Pyside6加载本地html文件并实现与Javascript进行通信
前端·javascript·html·pyside6
一只小风华~5 小时前
Vue:条件渲染 (Conditional Rendering)
前端·javascript·vue.js·typescript·前端框架
柯南二号5 小时前
【大前端】前端生成二维码
前端·二维码
Mr_Xuhhh6 小时前
项目需求分析(2)
c++·算法·leetcode·log4j
程序员码歌6 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
c++bug6 小时前
六级第一关——下楼梯
算法