高精度加法与高精度乘法是高精度计算中最常用的两种运算。
高精度计算是对于大数(几十位到几百位的数)进行运算,思路就是模拟竖式计算,以下给出高精加与高精乘的介绍及模板。
1、高精加:
设a、b数组为加数,c数组为和,那么a、b的对应位数字要进行相加,且顺序从低位到高位,在加的过程中,要注意进位。
以下为代码模板:(a[0]表示a长度,b、c亦然;数组从左到右顺序为从低位到高位顺序)
newdata cal(newdata a,newdata b)
{
newdata c;
for (int i=0;i<=200;i++) c[i]=0; //初始化c数组
for (int i=1;i<=max(a[0],b[0]);i++) //因为是对应位,故不用写两重循环
{
c[i]+=a[i]+b[i];
if (c[i]>=10)
{
c[i+1]=c[i]/10;
&nbs