高精度计算
维基百科,自由的百科全书
| 本条目没有列出任何参考或来源。(2008年10月5日) |
高精度计算是一种程序设计的算法。由于CPU的字长限制,如32位CPU中一个整数最大只能取值4,294,967,295。因此在进行更大范围的数值计算中,往往要采取模拟手段。通常通过分离字符的方法通过数字数组进行输入。通过数组倒序输出。通过模拟竖式计算进行计算。
種類 [编辑]
- 高精度加法
- 高精度減法
- 高精度乘法
- 高精度除法
高精度加法举例 [编辑]
Pascal代码如下
var s,s1,s2:string; a,b,c:array [1..1000] of integer; i,l,k1,k2:integer; begin readln(s1); readln(s2); l:=length(s1); k1:=1000; for i:=l downto 1 do begin a[k1]:=ord(s1)-48; k1:=k1-1; end; k1:=k1+1; l:=length(s2); k2:=1000; for I:=l downto 1 do begin b[k2]:=ord(s2)-48; k2:=k2-1; end; k2:=k2+1; if k1>k2 then k:=k2 else k:=k1; y:=0; for i:=1000 downto k do begin x:=a+b+y; c:=x mod 10; y:=x div 10; end; if y<>0 then begin k:=k-1; c[k]:=y; end; for i:=k to 260 do write(c); writeln; end.