高精度计算

✍ dations ◷ 2025-12-10 00:31:18 #高精度计算

高精度计算是一种程序设计的算法。由于中央处理器的字长限制,如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++:

相关

  • 红露酒红麹酒,是一种以红麹米和糯米为主要原料酿制成的粮食酒,为中国特产。红麹米虽然具备一定的糖化和发酵能力,却不足以单独产出高浓度的酒,因此自古以来,红麹酒需另加酒曲来拟补。把
  • 四象四象在中国一为代表东西南北四方的青龙、白虎、朱雀和玄武,一为《易经》中的“少阳、少阴、太阳、太阴”。四象时常被运用于战场上的军列,成为打仗时的保护神。后来,四灵被人们
  • 布鲁斯·比尔森布鲁斯·比尔森(Bruce Billson,1966年1月26日-)是一位澳洲政治人物,他的党籍是澳洲自由党。1996年至2016年,他是邓克利选区选出的澳大利亚众议院的议员。他曾经担任澳洲小型商务部
  • 黄渐鸿黄渐鸿(1931年2月8日-2021年3月15日),原名董风。河北唐山滦县赵各庄村人,中国人民解放军将领、中国人民解放军中将。1946年7月,参加中国人民解放军。1950年8月,加入中国共产党。早年担任白求恩医科大学学员,之后在华北军区第十九兵团第64军190师担任医生,参加平津战役、太原战役、扶郿战役、宁夏战役等。中华人民共和国成立后,参加朝鲜战争,担任190师卫生处医生。1955年9月,授予大尉军衔。1963年,晋升为少校军衔。1986年5月至1990年4月,担任大连陆军学院政治委员。1988年3月,
  • 李伯重李伯重(1949年-),男,云南昆明人,中国经济史学家。被认为是加州学派代表人物之一。现为清华大学历史系教授、博士生导师。1949年出生于云南省昆明市,父为李埏。1978年考入厦门大学,1982年获历史学硕士学位,1985年获历史学博士学位,导师傅衣凌。1985年至1993年在浙江省社会科学院历史研究所工作。1993年至1998年任中国社会科学院经济研究所研究员。1998年开始在清华大学工作,2000年至2003年任清华大学经济学研究所副所长,2003年至2006年任清华历史系主任兼思想文化研究所所长。译
  • M5公路 (俄罗斯)M5联邦公路,又称乌拉尔公路(Урал)是俄罗斯的一条干线公路,连接首都莫斯科和车里雅宾斯克,全长1,879公里。也是欧洲E30公路和西伯利亚公路的一部分,也是泛亚公路AH6的一部分。
  • 五眼联盟 (电影)《五眼联盟》(英语:)是一部美国间谍动作电影,由盖伊·里奇执导,杰森·斯坦森、奥布瑞·普拉札、凯瑞·埃德曼斯、布吉·马龙(英语:Bugzy Malone)、乔许·哈奈特和休·格兰特主演。电影宣布于2022年1月21日由STX娱乐在美国上映。五眼联盟招募了一名中央情报局特工,来防止销售致命的武器技术。2020年9月宣布,盖伊·里奇将执导电影《五眼联盟》,由米拉麦克斯影业、STX娱乐制作。2020年9月宣布杰森·斯坦森主演,12月,奥布瑞·普拉札加入剧组。凯瑞·埃德曼斯、布吉·马龙(英语:Bugzy Malo
  • 王治平 (作曲家)王治平(Bing Wang,1961年5月7日-),台湾音乐制作人,是苗栗县客家人,担任陶喆同名专辑、S.H.E、ASOS、林宥嘉、杨乃文和孙燕姿等艺人及组合之专辑制作。王治平在年轻时曾与庾澄庆组过乐团。王治平以林宥嘉《神秘嘉宾》专辑里收录的《眼色》以及田馥甄(Hebe)《To Hebe》专辑里收录的《LOVE!》分别获得第20届以及第22届金曲奖最佳单曲制作人奖、并以田馥甄(Hebe)《My Love》专辑“请给我好一点的情敌”一曲入围第23届金曲奖最佳单曲制作人奖。曾客串演出电视剧《爱上巧克力》、电影
  • 考德威尔·埃塞尔斯廷考德威尔·埃塞尔斯廷(英语:Caldwell Esselstyn,1933年12月12日-),美国男子赛艇运动员。他曾代表美国参加1956年夏季奥林匹克运动会赛艇比赛,获得男子八人单桨有舵手金牌。
  • 维斯帕拉德《维斯帕拉德》(波斯语:Vīsparad,中古波斯文“维斯普拉特”,来自阿维斯陀文“Visporatavo”,)是《阿维斯陀》中的宗教颂歌。阿维斯陀语称维斯帕·拉塔沃(Vīspa-Ratavo),意为“所有的首领”,指琐罗亚斯德教中所有的善神。主要内容颂扬主神阿胡拉·马兹达、阿梅沙·斯彭塔和他们一切善的造物,还赞颂了琐罗亚斯德教的重要祭典伽罕巴尔节(Gahanbars)。《维斯帕拉德》与《亚斯纳》风格相似,一说其只是亚斯纳的续篇。一般分为二十四章。“我们赞美先于天空、江河、大地、植物和有益的动物而创造出来