|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 2020-5-8 18:03 编辑
- 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
-
- 示例:
- 输入: a = 1, b = 1
- 输出: 2
-
- 提示:
- a, b 均可能是负数或 0
- 结果不会溢出 32 位整数
复制代码
- #include <iostream>
- using namespace std;
- int add(int a, int b) {
- int sum, carry;
- while (b != 0) {
- sum = a ^ b;
- carry = ((unsigned int) (a & b) << 1);
- a = sum;
- b = carry;
- }
- return a;
- }
- int main(void){
- cout << add(2, 3) << endl;
- }
复制代码
注意事项:
1参考链接:https://leetcode-cn.com/problems ... mian-shi-ti-bu-yon/
2.unsigned是无符号的数,这块儿没太弄懂;^和&这两个运算也未完全弄明白。待更新.... |
|