高精度加减法 C++
加法:
#include
#include
using namespace std;
vector add(vector &a, vector &b)
{ //如果b比a长就把b放到上面
if(a.size() > b;
//存储加数a和b
for(int i = a.size() - 1; i >= 0; i --) A.push_back(a[i] - '0');
for(int i = b.size() - 1; i >= 0; i --) B.push_back(b[i] - '0');
//高精度加法
C = add(A, B);
for(int i = C.size() - 1; i >= 0; i --) cout = 0; i --) if(a[i] != b[i]) return a[i] > b[i];
return true;
}
vector sub(vector &a, vector &b)
{
vectorc;
int t = 0;//借位 借给下一位的值
for(int i = 0; i a >> b;
//存储减数a和b
for(int i = a.size() - 1; i >= 0; i --) A.push_back(a[i] - '0');
for(int i = b.size() - 1; i >= 0; i --) B.push_back(b[i] - '0');
//高精度减法
if(cmp(A, B)) C = sub(A, B);
else
{
C = sub(B, A);
cout
关注
打赏