文件名称:高精度运算.doc
文件大小:31KB
文件格式:DOC
更新时间:2022-07-21 14:27:44
算法 C++
高精度运算代码 高精度乘法: 计算的位数: if lena mod 4<>0 then slena:=(lena div 4)+1 else slena:=lena div 4; if lenb mod 4<>0 then slenb:=(lenb div 4)+1 else slenb:=(lenb div 4); 1.四位一存,边存边删: k:=lb; for i:=1 to lb do begin if i=lb then val(b1,b[i],l) else begin val(copy(b1,k-3,4),b[i],l); delete(b1,k-3,4); k:=k-4; end; end; 2.c[i+j-1]:=c[i+j-1]+a[i]*a[j]; 3.C[I+J]:=C[I+J]+C[I+J-1] DIV 10000 4.C[I+J-1]:=C[I+J-1] MOD 10000 5.打印从后往前打印,除了首位以外,其他位不足1000的要补'0' 6.倒着输出 7.如果2个位数相加的位置<>0那么从2个位数相加的位置开始输出,否则从2个位数相加的位置-1开始输出