写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、×、÷ 四则运算符号。

class Solution {

public:

int add(int num1, int num2){

int res = 0;

int Cin = 0;

int tmp = 1;

for(int i = 0;i<32;i++){

int a = num1 & tmp;//取得num1和num2的第i位的值

int b = num2 & tmp;

int S = (a^b)^Cin;//异或得到第i位的输出值

int Cout = (a&b)|(a&Cin)|(b&Cin);//与操作得到进位

Cin = Cout << 1;//传递到下一位的进位输入

tmp <<= 1;

res += S;//将第i位的输出值S加到res中

}

return res;

}

};

相关推荐
脑洞代码4 分钟前
20250909的学习笔记
算法
Christo34 分钟前
TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》
人工智能·算法·机器学习
黑菜钟12 分钟前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo24 分钟前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花33 分钟前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
天上的光1 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
pzx_0011 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展
self_myth2 小时前
算法与数据结构实战技巧:从复杂度分析到数学优化
算法
songx_992 小时前
leetcode10(跳跃游戏 II)
数据结构·算法·leetcode
先做个垃圾出来………3 小时前
差分数组(Difference Array)
java·数据结构·算法