高精度
对于非常庞大的数字通常无法在计算机中正常存储,于是,就需要将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中,再进行计算,这就是高精度算法。
存储:
void init(int a[ ])
{
string s;
cin>>s;//输入
a[0]=s.length();//计算s位数·
for(int i=1;i<=a[0];i++)
a[i]s[a[0]-i]-'0';//存储
}
进位借位:
1、加法
c[i]=a[i]+b[i];//相加
if(c[i]>=10)
{
c[i]%10=10;
++c[i+1];
}//进位
2、减法
if(a[i]<b[i])
{
--a[i+1];
a[i]+=10;
}//借位
c[i]=a[i]-b[i];//相减
3、乘法
c[i+j-1]=a[i]*b[i]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
4、商与余数
视情况而定。。。

浙公网安备 33010602011771号