码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 371 Sum of Two Integers

时间:2016-10-23 07:38:34      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:.com   sum   contract   ges   view   nal   block   http   code   

Problem:

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Summary:

不使用+和-符号,计算两个整型数之和。

Analysis:

XOR相当于二进制数的无进位加法。进位位由两数&运算后左移一位确定。

Example:

用此方法计算5 + 3:

1、无进位结果:101 ^ 011 = 110  进位:101 & 011 = 001  左移:001 << 1 = 010

2、将进位与原结果相加:110 ^ 010 = 100  进位:110 & 010 = 010  左移:010 << 1 = 100

3、将进位与原结果相加:100 ^ 100 = 000  进位:100 & 100 = 100  左移:100 << 1 = 1000

4、将进位与原结果相加:000 ^ 1000 = 1000  进位:000 & 1000 = 0000

故:和为10002 = 8

技术分享View Code

Recursion:

技术分享View Code

 

LeetCode 371 Sum of Two Integers

标签:.com   sum   contract   ges   view   nal   block   http   code   

原文地址:http://www.cnblogs.com/VickyWang/p/5988911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!