#include
<iostream>
#include <string>
using namespace std;
inline int
compare(string str1, string str2)
{
if(str1.size() > str2.size()) //长度长的整数大于长度小的整数
return 1;
else if(str1.size() < str2.size())
return -1;
else
return str1.compare(str2);
//若长度相等,从头到尾按位比较,compare函数:相等返回0,大于返回1,小于返回-1
}
//高精度加法
string ADD_INT(string str1, string str2)
{
string MINUS_INT(string str1, string str2);
int sign = 1; //sign 为符号位
string str;
if(str1[0] == '-') {
if(str2[0] == '-') {
sign = -1;
str = ADD_INT(str1.erase(0, 1), str2.erase(0, 1));
}else {
str = MINUS_INT(str2, str1.erase(0, 1));
}
}else {
if(str2[0] == '-')
str = MINUS_INT(str1, str2.erase(0, 1));
else {
//把两个整数对齐,短整数前面加0补齐
string::size_type l1, l2;
int i;