高精度计算

✍ dations ◷ 2025-11-28 11:17:15 #高精度计算

高精度计算是一种程序设计的算法。由于中央处理器的字长限制,如32位CPU中一个整数最大只能取值4,294,967,295(=232-1)。因此在进行更大范围的数值计算中,往往要采取模拟手段。通常通过分离字符的方法通过数字数组进行输入、通过数组倒序输出、通过模拟竖式计算进行计算。一般而言,主要模拟的是按位运算,可以用不同的进位制达成不同的目的。

有许多程序库支持高精度计算,最著名的是GNU多重精度运算库。另外,Java,Python和Pascal也有本地的高精度运算支持。

高精度计算的一个常见应用是公开密钥加密,这些算法经常对长度上百位的整数进行运算。高精度计算的另一个应用是在需要没有人为限制位数和没有算术溢出的情况下使用。在检查固定精度计算的结果以及确定公式中系数的精确值或近似值时,高精度计算也很有用。比如,在高斯求积中,我们需要确定 1 / 3 {displaystyle {sqrt {1/3}}} 的值。

高精度加法是信息学的一种重要算法。这种算法使用多个存储单位进行计算,因此它的计算范围超过一般使用一个存储单位的算法。也是一些信息学竞赛的常考题目。

以358934760892734899+38960302975237462为例:

1、计算结果的位数

358934760892734899共18位

38960302975237462 共17位

故结果不会超过19位。

2、将要计算的数字分割成多段,按照顺序排列(这里以0-32767作为每一存储单位存储的数的限制):

(为提高空间利用效率,可以一个存储单位存储多位数。)

3、将两数相加。

4、输出结果。

从高位到低位依次输出。除最高位以外,其他低位上不足4位的要在前面补上0。

pascal:

var  a,b,c:array of integer;   n:string;   lena,lenb,lenc,i,x:integer; begin  readln(n);   lena:=length(n);   for i:=1 to lena do a:=ord(n)-ord('0');   readln(n);   lenb:=length(n);   for i:=1 to lenb do b:=ord(n)-ord('0');   i:=1; x:=0;   while (i<=lena) or(i<=lenb) do  begin    c:=a+b+x;     x := c div 10;      c := c mod 10;      i := i + 1;   end;   if x>0 then  begin    lenc:=i;     c:=x;   end  else lenc:=i-1;   for i:=lenc downto 1 do write(c); end.

c++:

相关

  • 时光旅行时间旅行或称时空旅行、时光旅行或穿越时空等,泛指人或物体由某一时间点移至另一时间点,类似在空间中的移动。所有事物都顺着时间一分一秒地自然前进,因此这里的时间旅行单指违
  • 斯托克顿市斯托克顿(Stockton,或译史塔克顿),当地华侨通译为斯托克顿,位于美国加利福尼亚州中部,是圣华金县的县治所在,人口约29万(2010年)。老一辈华侨通常称斯托克顿为“三埠”(大埠指旧金山,二
  • 张国伟 (地质学家)张国伟(1939年1月1日-),河南南阳人,中国前寒武纪地质学家。出生于河南南阳。1961年毕业于西北大学。1999年当选为中国科学院院士。西北大学造山带地质研究所所长、教授。
  • LET ME LUV U DOWN feat.ZEEBRA & MACCHO (OZROSAURUS) 2003年7月9日 Rhythm zone “LET ME LUV U DOWN feat.ZEEBRA & MACCHO (OZROSAURUS)”(爱到瘫痪)为日本音乐团体EXILE(放浪兄弟)的第9张单曲。2003年7月9日于日本发行。
  • BLANC7BLANC7(韩语:블랑세븐),是韩国Jackpot Entertainment旗下男子组合,组合成员有七人。官方公布歌迷名称为PRISM。 出道前 Jean Paul 以前是男子团体BTL的成员。Teno,Shinwoo,Taichi
  • 获得膜获得膜(acquired pellicle),是牙齿表层的一种组织。出牙时,牙冠被牙釉质表皮(牙胚遗留有机组织)覆盖,但是这一层牙釉质表皮很快就会因摩擦力而消失,其过程中通过口水和口腔内部细菌
  • 魔鬼学魔鬼学(英语:Demonology),指针对魔鬼・恶魔・恶灵或与其有关的信仰的系统的研究。它是神学的一个传统分支,研究对象是一切超人的并且不是神的存在,广义上还包括那些不被或很少被人
  • 北铃兰台车站北铃兰台站(日语:北鈴蘭台駅/きたすずらんだいえき  */?)位于兵库县神户市北区甲荣台四丁目,是神户电铁有马线的铁路车站。车站编号为KB07,标高346米。侧式月台2面2线的桥上车站
  • 宽尾鳞鲀属宽尾鳞鲀属(学名:)为鲀形目鳞鲀科的一属,分布于印度洋-太平洋海域以及大西洋东部海域。本属包括以下几种:
  • 苄胺苄胺是一种有机化合物,化学式为C6H5CH2NH2。它是无色可溶于水的液体,是有机化学的常见前体,可用于很多药物的工业生产。苄胺有很多方法可以制得,如工业上主要用氯化苄和氨的反应合成。在雷尼镍的存在下,它也可由苯甲腈的还原反应或苯甲醛的还原胺化反应得到。