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

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;

}

};

相关推荐
Dave.B13 小时前
vtkPolyDataConnectivityFilter 实用指南
算法·vtk
you-_ling13 小时前
数据结构:3.栈和队列
数据结构
细节处有神明13 小时前
开源数据之历史气象数据的获取与使用
人工智能·python·算法
小白开始进步14 小时前
JAKA Zu12 机械臂运动学算法深度解析(含可视化方案)
python·算法·numpy
梵刹古音14 小时前
【C语言】 递归函数
c语言·数据结构·算法
yongui4783414 小时前
混凝土二维随机骨料模型 MATLAB 实现
算法·matlab
酉鬼女又兒14 小时前
JAVA牛客入门11~20
算法
代码游侠14 小时前
C语言核心概念复习(二)
c语言·开发语言·数据结构·笔记·学习·算法
XX風14 小时前
2.1_binary_search_tree
算法·计算机视觉