首页 > 其他 > 详细

简单-371-两整数之和

时间:2020-07-04 21:31:53      阅读:65      评论:0      收藏:0      [点我收藏+]

LeetCode商城的鼠标垫好心动,争取暑假努力刷题搞到手。

 此题并非题1两数之和。而是用位运算实现计算机加法。 LeetCode371

不使用运算符 + 和 - ???????,计算两整数 ???????a 、b ???????之和。

无论是十进制还是二进制,加法都可以看成无进位加法与进位加法的和,当两数相加无需进位时,无进位加法就是目标值。

相对应的,无进位加法指异或操作,进位加法指位与运算。

public int getSum(int a, int b) {
        int carrier;
        while(b!=0){
            carrier = (a & b) << 1;  //进位
            a = a ^ b;  //无进位
            b = carrier;
        }
        return a;
    }

题解链接

简单-371-两整数之和

原文:https://www.cnblogs.com/faded828x/p/13236455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!