利用计算机进行数值计算,有时会遇到这样的问题:有些计算精确度要求高,达到了上百位,虽然现在计算机的计算精度也算高了,但受到硬件的限制,往往达不到实际问题所需要的精度。我们可以利用程序设计的方法去解决这个问题。这里介绍几种常用的高精度计算方法。
(1)数据的接收和存储:当输入数位很长时,可采用字符串方式输入,这样可以接收很长的数,利用字符串函数和操作运算,将每一位数取出,存入数组中。另一种方法是直接用循环加数组的方式输入数据。

(2)高精度数位数确定:通常获取字符串长度获知。

(3)进位、借位处理

c[i] = a[i]+b[i];
if(c[i]>=10){
c[i] = c[i]%10;
c[i+1] = c[i+1]+1;
}
if(a[i]<b[i]){
a[i+1] = a[i+1]-1;
a[i] = a[i]+10;
}
c[i] = a[i]-b[i];
c[i+j-1] = a[i]*b[j]+x+c[i+j-1];
x = c[i+j-1]/10;
c[i+j-1] = c[i+j-1]%10;

(4)商和余数的求法:视被除数和除数的位数情况进行处理。

Last modification:April 21st, 2019 at 01:53 pm
博客维护不易,如果你觉得我的文章有用,请随意赞赏