高精度计算

✍ dations ◷ 2025-11-30 18:23:42 #高精度计算

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

相关

  • 神经中枢中枢神经系统(英文:central nervous system,缩写:CNS)是神经系统中神经细胞集中的结构,在脊椎动物包括脑和脊髓;在高等无脊椎动物如环节动物和昆虫等,则主要包括腹神经索和一系列的
  • 副将副将为元朝、明朝和清朝的一个军衔级别,又称为协镇;次于总兵,高于参将,相当于以前的副总兵。清太宗天聪八年(1634年),以梅勒章京(满语: ᠮᡝᡳᡵᡝᠨ ‍ᡳᠵᠠᠩᡤᡳᠨ,转写:meiren-i j
  • 荆豆荆豆(学名:Ulex europaeus)为豆科荆豆属下的一个种。它原产于欧洲,被国际自然保护联盟物种存续委员会的入侵物种专家小组(ISSG)列入世界百大外来入侵种。
  • 密尔斯学院密尔斯学院(Mills College)或译米尔斯学院,是位于美国加利福尼亚州奥克兰的一所私立文理学院、女子学院。1852年成立于加州贝尼西亚,1871年搬至现址。它虽然是女子学院,但是研究
  • 橘清友橘清友(日语:橘清友/たちばな の きよとも ,758年-789年)是日本奈良时代后期贵族,父亲是参议橘奈良麻吕,女婿是嵯峨天皇,外孙是仁明天皇。官位为正五位上内舍人(日语:内舎人),其后追赠正
  • 曼斯菲尔德 (密苏里州)曼斯菲尔德(英语:Mansfield)是一个美国城市,位于密苏里州赖特郡。根据2010年的人口普查,当地人口为1,296人。根据美国人口普查局,该城市的总面积为1.90平方英里(4.92平方千米),其中1.
  • 雪佛兰爱唯欧爱唯欧(AVEO)是上海通用于2011年5月20日推出的雪佛兰品牌小型轿车。目前推出的有两厢、三厢共六款车型,有1.4L、1.6L两种排量。官方指导价8.18~11.18万元。爱唯欧上市后,配合《
  • 人工智能逻辑人工智能逻辑是指用逻辑方法(如数理逻辑)和逻辑成果研究智能主体(intelligent agent)如何处理知识的理论。人工智能逻辑的研究对象与人工智能研究的对象不同,人工智能逻辑不研究
  • 奥古斯塔 (佐治亚州)奥古斯塔(英语:Augusta)是美国佐治亚州的其中一个城市,根据2010年美国人口普查数据,该城市人口为195,844人。高尔夫美国名人赛的举办场地奥古斯
  • 炕围画炕围画是一种中国家居装饰艺术。主要分布于中国北方,特别是山西地区的农村。该地农村新房落成后,一般请画工在屋内土炕周围的墙上作画,画高一般接近人的坐高,主题有风景、人物等。炕围画最早开始于唐代,在宋代开始兴盛。