LintCode-1-A+B使用位运算实现
Posted didiup
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode-1-A+B使用位运算实现相关的知识,希望对你有一定的参考价值。
描述
给出两个整数 a 和 b , 求他们的和。
1 int aplusb(int a, int b) { 2 // write your code here 3 int _a=0,_b=0; 4 while((a&b) != 0) //判断是否有进位影响 5 { 6 7 _a=a^b; //不带进位的加法 8 _b=(a&b)<<1; //哪一位产生了进位,并左移,看是否会影响下一位进位 9 a=_a; 10 b=_b; 11 } 12 13 return a|b; //将结果合并 14 }
Ps : 不用管负数情况,因为数据是以补码形式存在的。
以上是关于LintCode-1-A+B使用位运算实现的主要内容,如果未能解决你的问题,请参考以下文章