高精度计算

✍ dations ◷ 2025-12-08 01:44:52 #高精度计算

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

相关

  • 莱州市莱州市,中国的一个沿海城市。为山东省县级市,烟台市代管。位于渤海莱州湾东岸。总面积1878平方公里,人口88万。历史上曾为过国、莱侯国、莱子国、掖邑地。西汉初年,即置掖县,属东
  • 短沟蜷科短沟蜷科(学名:Semisulcospiridae)是吸螺目蟹守螺总科的成员,主要包括了短沟蜷属及其他主要在亚洲生活的物种。根据2005年《布歇特和洛克罗伊的腹足类分类》,短沟蜷科原为肋蜷科
  • 磷峰值磷峰值(英语:Peak phophorus)描述人类为开采工业和商业原材料达到最高磷产率的时间点,这一说法受到石油峰值(哈伯特顶点)理论的启发。在2010年左右,曾经有过关于磷峰值是否即将到来
  • 艾萨克·辛格艾萨克·梅瑞特·辛格(英语:Isaac Merritt Singer,1811年10月27日-1875年7月23日)是美国的发明家、演员、商人。他对缝纫机进行了重大改良,是胜家衣车的创始人。纵然许多人在他之
  • 李心草 (消歧义)李心草可以指:
  • 欧洲跨国界音乐奖欧洲跨国界音乐奖(European Border Breakers Awards,EBBA)旨在表彰过去一年在除了自己国家外,在欧洲其他国家也取得成功的十名音乐人或乐队。该奖自2004年起每年举办一次。其
  • 红领巾 (2011年电影)《红领巾》是2011年8月1日在土豆网推出的一部电影短片,是其导演向歌电影电视学专业的毕业作品。该作品因被许多网友认为生动反映了“媚官”和“拼爹”的社会现象,在网络迅速爆
  • 1292高级可编程视频系统1292高级可编程设计视频系统(英语:1292 Advanced Programmable Video System)是欧洲公司Radofin在1976年发售的8位家用游戏机,售价为129美元。它是Interton VC-4000和Voltmace Database的软件兼容主机之一。1292 Advanced Programmable Video System采用内置而非外接电源组。1292 高级可编程设计视频系统的主机设有4个按键,包括可以电源开关键、重置键、选择键及开始键,并用电线连接2个控制器。控
  • 光明想光明想(巴利语:aloka-saññā),佛教术语,是四修定三摩地之一,在修行法门中,常用于对治五盖中的睡眠盖。光明想,是以“明相”作为禅修的所缘。经由观察日、月、星辰、宝石、烛火、火炬等会发出或反射光芒的对象,以此修光明心,可进入光明定中。
  • 诉诸贫贱诉诸贫贱(英语:appeal to poverty;拉丁语:argumentum ad lazarum)是一种起源谬误,主张贫贱者才诚实,观点才正确,而富足者的观点不正确。