您的位置:首页 > 理论基础 > 数据结构算法

lintcode1- 1. A + B 问题

2017-12-14 19:54 369 查看
给出两个整数a和b, 求他们的和, 但不能使用 
+
 等数学运算符。


 注意事项


你不需要从输入流读入数据,只需要根据
aplusb
的两个参数a和b,计算他们的和并返回就行。

您在真实的面试中是否遇到过这个题? 

Yes

说明

a和b都是 
32位
 整数么?
是的
我可以使用位运算符么?
当然可以

样例

如果 
a=1
 并且 
b=2
,返回
3


挑战 

显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?

标签 

比特位操作 Cracking
The Coding Interview

相关题目 

class Solution {
public:
/*
* @param : An integer
* @param : An integer
* @return: The sum of a and b
*/
int aplusb(int a, int b) {
// write your code here
int c=a&b;

while(b!=0){
a=a^b;
b=c<<1;
c=a&b;
}
return a;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息