[高等教育]高精度计算.docVIP

  • 1
  • 0
  • 约3.83万字
  • 约 37页
  • 2018-03-05 发布于浙江
  • 举报
[高等教育]高精度计算

高精度运算 所谓的高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了。在这里,我们先讨论高精度加法。高精度运算主要解决以下三个问题: 运算因子超出了整型、实型能表示的范围,肯定不能直接用一个数的形式来表示。在Pascal中,能表示多个数的数据类型有两种:数组和字符串。 数组:每个数组元素存储1位(在优化时,这里是一个重点!),有多少位就需要多少个数组元素;用数组表示数的优点:每一位都是数的形式,可以直接加减;运算时非常方便。用数组表示数的缺点:数组不能直接输入;输入时每两位数之间必须有分隔符,不符合数值的输入习惯; 字符串:字符串的最大长度是255,可以表示255位。用字符串表示数的优点:能直接输入输出,输入时,每两位数之间不必分隔符,符合数值的输入习惯;用字符串表示数的缺点:字符串中的每一位是一个字符,不能直接进行运算,必须先将它转化为数值再进行运算;运算时非常不方便; 综合以上所述,对上面两种数据结构取长补短:用字符串读入数据,用数组存储数据: var s1,s2:string; ????a,b,c:array [1..260] of integer; ????i,l,k1,k2:integer; begin ???? write(input s1:);read

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档