一个关于PASCAL的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:23:24
PASCAL如何解决实数运算时的误差问题?
在不用高精度情况下
是运算时,不是输出时

运算时没误差,输出时,注意场宽。
双场宽,write(n:m:k)时n时要输出的数字,
m时总场宽,k时小数点场宽。

楼上的说把小数扩大成整数,这办法真是笨,行不通!你用整型能进行除法运算吗?还不仍得用实型,实型即使是整数运算,精度仍一样,不信你试试!不知要精度多高,如不超过20位,则在程序头加{$N+}符号,数据类型用extended。非要用real不可又不想用高精算法的话无法提高精度。

用extended类型,输出n:0:0

用real或extended类型,输出时为Write(变量:0:0)

有一个办法比较笨。。。
把你要算的所有数全部乘以10的n次方
也就是变相将其扩大 变成整数运算 或者小数位变少
这样子可以提高精度 最后输出的时候除回去就可以了。。。。