5、非常容易。加法:A=Sum[i=0 to p](A[i]*0x10000**i);B=Sum[i=0 to q](B[i]*0x10000**i),p>=q;C=Sum[i=0 to n](C[i]*0x10000**i)=A+B。如果用carry[i]记录每次的进位则有:C[i]=A[i]+B[i]+carry[i-1]-carry[i]*0x10000,其中carry[-1]=0。若A[i]+B[i]+carry[i-1]>0xffffffff,则carry[i]=1;反之则carry[i]=0,若carry[p]=0,
6、则n=p;反之则n=p+1。减法与加法同理。21因此: C[i]=Sum[j=0 to q](A[i-j]*B[j])+carry[i-1]-carry[i]*0x10000,其中carry[-1]=0,carry[i]=(Sum[j=0 to q](A[i-j]*B[j])+carry[i-1])/0x10000,n=p+q-1,若carry[n]>0,则n=n+1,C[n]=carry除法设A=Sum[i=0 to p](A[i]*0x10000**i),B=Sum[i=0 to q](B[i]*0x10000**i),
7、p>=q, C=Sum[i=0 to n](C[i]*0x10000**i)=A/B。由于无法将B 对A “试商”,我们只能转换成B[q]对A[p]的试商来得到一个近似值,所以我们不能够直接计算C。但是,我们可以一步一步地逼近C。显然,(A[p]/B[q]-1)*0x10000**(p-q)