高精度计算,实际上就是模拟竖式计算,代码如下,请慢慢消化,如有不足或建议,请在评论区留言
这个高精度加法的实现方法有很多,这里的仅供参考
#include <bits/stdc++.h>
using namespace std;
int a[205],b[205],c[205];
int main()
{
string as,bs;
cin>>as>>bs;
a[0]=as.length();
b[0]=bs.length();
for(int i=1; i<=a[0]; i++)
{
a[i]=as[a[0]-i]-'0';
}
for(int i=1; i<=b[0]; i++)
{
b[i]=bs[b[0]-i]-'0';
}
c[0]=max(a[0],b[0]);
for(int i=1; i<=c[0]; i++)
{
c[i]+=(a[i]+b[i]);
if(c[i]>=10)
{
c[i]-=10;
c[i+1]=1;
}
}
if(c[c[0]+1]!=0)
{
c[0]++;
}
for(int i=c[0]; i>=1; i--)
{
cout<<c[i];
}
return 0;
}