赞
踩
#include <iostream>
using namespace std;
int main() {
// write your code here......
int a,b;
cin>>a>>b;
cout<<a+b;
return 0;
}
C++代码不用加法来是实现正数的的加。
#include <iostream> #include <iostream> using namespace std; class Solution { public: int add(int a, int b) { //两个数值要进行相加-其位置上的数字可以使用^ 运算符 相同位0,不同位1,这样就获得了每个位置上的二进制代码 //但是会存在一个问题,那就是在进位的时候-无法完成进位的操作 //先来第一步 int sum=a^b;//获取每个位置上数值 //第2步考虑进位,什么情况下会有进位 ,那就是都位1的时候要进位,所以我们进行&运算,都为1的位置 int carry=a&b; //那什么情况下就不进行进位了,那就是 a&b为0的时候,所以在这里我们使用while循环 while(carry!=0){ //左移运算相当于乘法运算,左移K位等于将这个数字乘以2也就进一位 carry=carry<<1; a=sum; b=carry; //记录对应的值 sum=a^b;//再进行一次运算 //继续求当前 a&b的值 carry=a&b; } return sum; } }; int main() { int a,b; cin>>a>>b; Solution sum; cout<<sum.add(a,b); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。