2高精度的十进制运算.pptVIP

  • 4
  • 0
  • 约1.58万字
  • 约 43页
  • 2019-02-18 发布于安徽
  • 举报
⑶两个整数数组相乘(a←a*n,a和n为为整数数组) 我们按照由高位到底位的顺序,将a数组的每一个元素与n相乘。当计算到a[j]*n时,根据乘法规则,a[j-1], …,a[0]不变,a[j]为a[j]为a[j]与n[0]的乘积,a[j+k]加上a[j]*n[k]的乘积(k=ln-1,ln-2, …,1),然后按照由底位到高位的顺序处理进位。最后,如果a[la-1]*n有进位,则乘积a的有效位数为la+ln;否则a的有效位数为la+ln-1。 for j←la-1 downto 0 do {a1←a*n} for k←ln-1 downto 0 do inc(a1[j+k-1],a[j]*n[k]); a←a1; l←0; {进位初始化} for j←0 to la+ln-1 do begin {按照由底位到高位的顺序处理进位} inc(l,a[j]);{计算经过进位后的第j位} a[j] ←l mod 10000; {将第j位规整为10000进制数} l←l div 10000;{计算进位} end;{for} if (a[la+ln-1]0 ) then inc(la,ln) {修改有效位数} else inc(la,ln-1); 彩票

文档评论(0)

1亿VIP精品文档

相关文档