高精度计算

✍ dations ◷ 2025-12-07 01:10:06 #高精度计算

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

相关

  • 男性乳房发育症男性乳房发育症(英语:gynecomastia),亦作男性乳腺增生或女性化乳房,是指男性胸部因为乳腺不正常发育造成的增大状况。这种疾病的英文名称Gynecomastia的两个词根gyne-(γυνή)
  • 阿道夫·恩格勒阿道夫·恩格勒(全名海因里希·古斯塔夫·阿道夫·恩格勒 德语:Heinrich Gustav Adolf Engler)(1844年3月25日-1930年10月10日)是一名德国植物学家,他在植物分类学和植物地理学上有
  • 本域口岸坐标:22°35′34″N 103°50′53″E / 22.59278°N 103.84806°E / 22.59278; 103.84806本域口岸(越南语:Cửa khẩu Bản Vược),是越南老街省坝洒县的一个边境口岸。与该口岸
  • SysOpSysOp是英文System operator的简写,即系统操作员的意思,是多用户计算机操作系统管理员,有时也被称为系统管理员或系统工程师。其主要职责是维护计算机系统(特别是大型主机)的正常
  • 陈所蕴陈所蕴,字子有,直隶松江府上海县人。明朝政治人物、进士出身。万历十七年(1589年)己丑科二甲进士,授南刑曹,历员外、郎中。性方严,有坐法当讯者,介大司寇及所蕴座师为关说,所蕴卒按其
  • 皮埃尔·贝尔皮埃尔·贝尔(法语:Pierre Bayle,1647年11月18日-1706年12月18日)是法国哲学家、作家,以1697年出版的著作《历史批判辞典(英语:Dictionnaire Historique et Critique)》而知名,在此书
  • 刘佩荣刘佩荣(1917年-1990年),男,直隶(今河北)雄县人,中华人民共和国军事人物,中国人民解放军少将,曾任第四机械工业部副部长,第四届全国人大代表,第六、七届全国政协委员。
  • 链霉菌科 Salam et al. 2020链霉菌科(学名:)为放线菌纲链霉菌目的一科细菌。此科的模式属为链霉菌属()。
  • 九州自动车道KYUSHU EXP(E3).svg九州自动车道(日语:九州自動車道/きゅうしゅうじどうしゃどう  */?)是以日本福冈县北九州市门司区为起点,途经佐贺县,再入福冈县,途经熊本县、宫崎县至鹿儿岛县鹿儿岛市,总长346.3公里的高速公路(高速自动车国道),简称九州道(九州道/きゅうしゅうどう,KYUSHU EXPWAY)。全线根据高速公路编号(日语:高速道路ナンバリング)的路线编号编为“E3”,门司IC(日语:門司インターチェンジ) - 福冈IC(日语:福岡インターチェンジ (福岡県))间获指定为亚洲公路1
  • 雪见雪见(日语:雪見/ゆきみ  ?),意即赏雪,是日本至中世纪以来的一种冬日风俗,盛于江户时期,以眺望欣赏落雪或者雪后的美景来取乐。古时,有于亭中赏雪、坐船赏雪(称“雪见船”)、站在桥上赏雪(称“雪见桥”)、在料亭上赏雪(称“雪见宴”)等。当时江户的武士、贵族每逢下雪,就立刻出门赏雪。据说俳圣松尾芭蕉也经常在向岛的长命寺赏雪。现代的雪见则是在室内等温暖场所中,并有“雪见酒”和“雪见澡”等衍生产物。此外,每至雪见季节,商店就会推出雪见大福、雪见丸子等似雪球般的商品;餐馆也会打出“雪见锅”料理,最上面都加上磨好的