[easy]371. Sum of Two Integers

Calculate the sum of two integers a and b, but you are not allowed to use the operator +
and -
.
Example:Given a = 1 and b = 2, return 3.

这道题目考查了加法的实现方法,由于我真值表达式不太记得怎么写,我根据规律写出了如下式子:

sum = digit1 ^ digit2 ^ carry;
carry = digit1 ^ digit2 ? carry ? digit1 & digit2;
class Solution {
public:
    int getSum(int a, int b) {
        while(b)
        {
            int c = a^b;
            b = (a&b)<<1;
            a = c;
        }
        return a;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,513评论 0 13
  • Introduction What is Bowtie 2? Bowtie 2 is an ultrafast a...
    wzz阅读 5,816评论 0 5
  • 猪年正月初六,池澳一年一度的同乡会在松城相聚。今年慈母八十大寿,回家吃了年夜饭,和老妈聊聊天,春的浓意悄然消融,我...
    柳风怪笔阅读 394评论 0 2
  • 看他人写作而写作也是一种极好的写作方法,从他们的写作手法中思考自己的写作手法是否正确,框架是否完善,逻辑是否清晰,...
    7515b237f6ce阅读 228评论 0 0
  • 在现实生活中,很多高血糖患者血糖不达标。如果你的血糖高,看是否犯了这些错? 1、吸烟和饮酒 糖尿病患者长期控制血糖...
    yongzhao0141阅读 338评论 0 0