高精度计算

✍ dations ◷ 2025-01-11 01:41:38 #高精度计算

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

相关

  • 索氏提取器索氏提取器(英语:Soxhlet extractor)是一种在1879年由Franz von Soxhlet(英语:Franz von Soxhlet)发明的实验仪器。它最初的设计是为了从固体中提取脂类化合物,但是,索氏提取器不仅
  • 置信水平在统计学中,一个概率样本的置信区间(英语:Confidence interval,CI),是对产生这个样本的总体的参数分布(Parametric Distribution)中的某一个未知参数值,以区间形式给出的估计。相对于
  • 蕹菜蕹菜(学名:Ipomoea aquatica;“蕹”,拼音:wèng),又称空心菜、通菜、通心菜、壅菜、瓮菜、应菜、藤菜及葛菜,为一年生草本植物,茎蔓性,中空,节上能生不定根。应菜,蕹菜(南方草木状、嘉祐
  • 台北大天后宫台北大天后宫,又称清代台北府城大天后宫,是台湾一座由台湾巡抚刘铭传等官员建立于台北府城的妈祖庙。该庙后在1912年前后因受台风严重毁损及市区改正等缘故遭拆除,原址随后建立
  • 乌雷乌雷(德语:Ulay,1943年11月30日-2020年3月2日)是德国(前西德)行为艺术家,长期和玛莉娜·阿布拉莫维奇合作表演。
  • 爱丽丝·伊芙爱丽丝·苏菲亚·伊芙(英语:Alice Sophia Eve,1982年2月6日-)出生于英格兰伦敦,是一个英国女演员。她因出演《辣妹爱宅男》而闻名,佳作还有《欲望城市2》1982年,爱丽丝·伊芙出生于
  • 舛添要一舛添要一(日语:舛添 要一,1948年11月29日-),生于福冈县北九州市八幡东区;东京大学法学部政治课程毕业。日本政治家、国际关系学者。前任东京都知事。前参议员。曾任厚生劳动大臣。
  • 邓阊邓阊(1世纪-118年),南阳郡新野县(今河南省新野县)人。东汉人物,邓训第五子,和熹皇后邓绥、邓骘、邓京、邓悝、邓弘的弟弟。邓绥为汉和帝贵人,邓骘、邓阊兄弟担任郎中。邓绥立为皇后。
  • 1896年美国东岸飓风1896年美国东岸飓风的移动速度非常缓慢,于1896年10月中旬吹袭佛罗里达州至新英格兰之间的美国东岸地区。风暴于10月7日在墨西哥湾南部形成,是1896年大西洋飓风季的第五个热带气旋,在佛罗里达州引起轻度破坏,并用两天时间穿越该州。10月10至13日,飓风沿海岸线向东北飘移,所达最高强度在现代萨菲尔-辛普森飓风等级下属二级飓风标准范围。受风暴影响,美国东岸多地近海波涛汹涌,航运也因东北风的不利影响受阻。中大西洋地区海岸沿线因风暴潮引发洪灾,弗吉尼亚屏障群岛中的科布岛被淹并受到严重侵蚀,许多酒店和房屋受到
  • 艾尔·欧斯亚伯特·刘易士·欧斯(英语:Albert Lewis Orth,1872年9月5日-1948年10月6日),绰号“The Curveless Wonder”,为美国职棒大联盟的投手。生涯曾效力过费城人、参议员(今双城)与高地人(今洋基)等队。欧斯在退休后转任大联盟主审与大学棒球队教练。欧斯毕业于德堡大学。1895年,他在小联盟拿下28胜。之后他在8月15日登上大联盟,并拿下8胜1败,防御率3.89的成绩。打击方面,他的打击率为3成56,并敲出1轰与13分打点。隔年他拿下15胜10败,防御率4.41。打击率