- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
高精度运算
2
总结
要求会一般意义的加、减
乘:多精度*单精度 多精度*多精度
除:多精度 除单精度
此外 1/a 这样的也涉及一下
如果上午没有完成晚上做一下。
3
类型 数值范围 占字节数
Byte 0 .. 255 1
Word 0..65535 2
Shortint -128 .. 127 1
Integer -32768..32767; 2
Longint -2147483648 .. 2147483647 4
Longword 0.. 4
Int64 - 8 .. 7 8
QWord 0 .. 15 8
4
n!=1×2×3×...×(n-1)×n (N0)
0!=1
若用integer型数据表示阶乘,最多可到7!,用Longint类型也只能到12!
要求输入正整数n,求 n! 的精确表示
【算法分析】用数组存放结果,模拟人工计算过程,逐位去乘,注意进位情况的处理。
5
所谓的高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了
6
高精度运算主要解决以下三个问题
1、加数、减数、运算结果的输入和存储
运算因子超出了整型、实型能表示的范围,肯定不能直接用一个数的形式来表示。在Pascal中,能表示多个数的数
据类型有两种:数组和字符串。
(1)数组:每个数组元素存储1位(在优化时,这里是一个重点!),有多少位就需要多少个数组元素;
用数组表示数的优点:每一位都是数的形式,可以直接加减;运算时非常方便
用数组表示数的缺点:数组不能直接输入;输入时每两位数之间必须有分隔符,不符合数值的输入习惯;
(2)字符串:字符串的最大长度是255,可以表示255位。
用字符串表示数的优点:能直接输入输出,输入时,每两位数之间不必分隔符,符合数值的输入习惯;
用字符串表示数的缺点:字符串中的每一位是一个字符,不能直接进行运算,必须先将它转化为数值再进行运算;运算时非常不方便
7
高精度运算涉及到的问题:
1、数据的输入。
2、数据的存储。
3、数据的运算:进位和借位。
4、结果的输出:小数点的位置、处理多于的0等。
8
一、高精度运算:加法
题目要求:
输入:
第一行:正整数a。
第二行:正整数b。已知:a和b(10240)。
输出:a+b的值。
样例输入:
99
999
样例输出:
1098
9
高精度加法解决的问题:
1、数据的输入。
2、数据的存储。
3、加法运算,注意进位处理。
4、结果的输出。
10
1、数据的输入。
a和b(10240)
字符串输入:
Var s1,s2:string;
Readln(s1);
Readln(s2);
11
2、数据的存储。
为了计算方便,采用数组存储。
Var a,b:array[1..240] of integer;
将字符串转换为数组存储。
用a存s1,b存s2。
A[1]存个位,便于以后计算和进位处理
len1:=length(s1);
for i:= 1 to len1 do a[i]:=ord(s1[len1+1-i])-48;
len2:=length(s2);
for i:= 1 to len2 do b[i]:=ord(s2[len2+1-i])-48;
S1=’3 4 5 2 3 4 5’
….a[3] a[2] a[1]
12
3、加法运算,注意进位处理。
把计算结果存到数组c中:c:array[1..241] of integer;
先计算。
…….a[3] a[2] a[1]
……
您可能关注的文档
最近下载
- (热门!)全球包装材料标准BRCGS第7版内部审核全套记录(可编辑).docx VIP
- 安全生产法律法规完整版全套PPT教学课件.pptx VIP
- 2025年上海市青少年活动中心(上海市青年发展服务中心)工作人员公开招聘(第二批)笔试备考试题及答案解析.docx VIP
- 8.1功与功率 (教学课件)-高中物理人教版(2019)必修第二册 .pptx VIP
- 统编版(2024)八年级上册德与法治7.1《珍视自由》教学设计.docx
- (100分)中国石油大学2022秋《红楼梦研究第二阶段在线作业.doc VIP
- 第7节货场平面布置及配置图.PDF VIP
- 海浦蒙特MTCC-V2A经典系列别墅电梯控制柜用户手册-中-V1.0.pdf VIP
- 塔里木油田超深气井产出剖面解释方法研究.pdf
- 2025年上海市青少年活动中心(上海市青年发展服务中心)工作人员公开招聘(第二批)笔试备考题库及答案解析.docx VIP
文档评论(0)