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

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;

}

};

相关推荐
monster000w7 小时前
大模型微调过程
人工智能·深度学习·算法·计算机视觉·信息与通信
小小晓.7 小时前
Pinely Round 4 (Div. 1 + Div. 2)
c++·算法
SHOJYS7 小时前
学习离线处理 [CSP-J 2022 山东] 部署
数据结构·c++·学习·算法
biter down7 小时前
c++:两种建堆方式的时间复杂度深度解析
算法
zhishidi8 小时前
推荐算法优缺点及通俗解读
算法·机器学习·推荐算法
WineMonk8 小时前
WPF 力导引算法实现图布局
算法·wpf
2401_837088508 小时前
双端队列(Deque)
算法
ada7_8 小时前
LeetCode(python)108.将有序数组转换为二叉搜索树
数据结构·python·算法·leetcode
奥特曼_ it8 小时前
【机器学习】python旅游数据分析可视化协同过滤算法推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
python·算法·机器学习·数据分析·django·毕业设计·旅游