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;
}
};