写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
使用++,- -运算符
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19class Solution { public: int Add(int num1, int num2) { if (num1 > 0) { while (num1--) num2++; } else { while (num1++) num2--; } return num2; } };
使用位运算
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15class Solution { public: int Add(int num1, int num2) { while (num2 != 0) { int temp = num1 ^ num2; num2 = (num1 & num2) << 1; num1 = temp; } return num1; } };
复制代码
1
2
3
4
5
6
7
8
9class Solution { public: int Add(int num1, int num2) { return num2 ? Add(num1 ^ num2, (num1 & num2) << 1) : num1; } };
复制代码
1
2
3
4
5
6
7
8
9
10
11class Solution { public: int Add(int num1, int num2) { if (num2 == 0) return num1; return Add(num1 ^ num2, (num1 & num2) << 1); } };
最后
以上就是难过荔枝最近收集整理的关于不用加减乘除做加法。写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。的全部内容,更多相关不用加减乘除做加法。写一个函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复