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

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;

}

};

相关推荐
一叶知秋0614 小时前
数据结构-什么是队列?
数据结构·队列
Jasmine_llq14 小时前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
小棠师姐14 小时前
支持向量机(SVM)入门:超平面与核函数的通俗解释
算法·python机器学习·支持向量机svm·超平面可视化·核函数应用
zhongvv14 小时前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
im_AMBER14 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
今儿敲了吗15 小时前
01|多项式输出
c++·笔记·算法
Xの哲學15 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
AlenTech15 小时前
200. 岛屿数量 - 力扣(LeetCode)
算法·leetcode·职场和发展
C雨后彩虹15 小时前
竖直四子棋
java·数据结构·算法·华为·面试
不如自挂东南吱16 小时前
空间相关性 和 怎么捕捉空间相关性
人工智能·深度学习·算法·机器学习·时序数据库