高精度计算高精度乘法高精度乘法基本思想和加法一样
其基本流程如下:①读入被乘数s1,乘数s2②把s1、s2分成4位一段,转成数值存在数组a,b中;记下a,b的长度k1,k2;③i赋为b中的最低位;④从b中取出第i位与a相乘,累加到另一数组c中;(注意:累加时错开的位数应是多少位?)⑤i:=i-1;检测i值:小于k2则转⑥,否则转④⑥打印结果参考程序:program chengfa;const n=100;type ar=array [1..n] of integer;var a,b:ar; k1,k2,k:integer;c:array [1..200] of integer;s1,s2:string;procedure fenge(s:string;var d:ar; var kk:integer); {将s分割成四位一组存放在d中,返回的kk值指向d的最高位}var ss:string;i,code:integer;begini:=length(s);kk:=n;repeatss:=copy(s,i-3,4);val(ss,d[kk],code);kk:=kk-1;s:=copy(s,1,i-4);i:=i-4;until i<0;kk:=kk+1;end;procedure init;var i:integer;beginfor i:=1 to n do begin a:=0; b:=0; end;for i:=1 to 2*n do c:=0;write('input 2 numbers:');readln(s1);readln(s2);fenge(s1,a,k1);fenge(s2,b,k2);end;procedure jisuan;var i,j,m:integer; x,y,z,jw:longint;begini:=n; k:=2*n;repeatx:=b; z:=0; m:=k; jw:=0;for j:=n downto k1 dobeginy:=a[j];z:=c[m];x:=x*y+z+jw;jw:=x div 10000;c[m]:=x mod 10000;m:=m-1;x:=b;end;if jw<>0 then c[m]:=jw else m:=m+1;i:=i-1;k:=k-1;until i 以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。