高精度加法.ppt_第1页
高精度加法.ppt_第2页
高精度加法.ppt_第3页
高精度加法.ppt_第4页
高精度加法.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高精度,所谓的高精度运算,是指参与运算的数(加数,减数,因子)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。,高精度-加法,一、数据的接收与存储,(1)字符串:字符串的最大长度是255,可以表示255位。优点:能直接输入输出,输入时,每两位数之间不必分隔符,符合数值的输入习惯。缺点:字符串中的每一位是一个字符,不能直接进行运算,必须先将它转化为数值再进行运算;运算时非常不方便。(需要转变一下)(2)数组:每个数组元素存储1位,有多少位就需要多少个数组元素;优点:每一位都是数的形式,可以直接加减;运算时非常方便。缺点:数组不能直接输入;输入时每两位数之间必须有分隔符,不符合数值的输

2、入习惯。(3)用字符串读入数据,用数组存储数据。,二、加法运算,例:935+86=?,935,86,5+6=11,3+8+1=12,9+0+1=10,+,1,1,2,0,1、运算顺序:两个数靠右对齐;从低位向高位运算;先计算低位再计算高位;,2、结果位数:两数之和的位数为较大的数的位数加1。,1,1,1,3、运算规则:同一位的两个数相加再加上从低位来的进位,成为该位的和;这个和去掉向高位的进位就成为该位的值。,二、加法运算,4、最后一位的进位:如果完成两个数的相加后,进位位值不为0,则应添加一位。,5、如果两个加数位数不一样,按位数多的一个计算。,预备知识,介绍用字符数组处理,字符的变形,我们

3、首先定义chara=1,b=2,c;那么我们如何使c=a+b=3?这样是符合我们平时的加法字符0的ASCII码为48,1的是49,2的是50.,从上面字符对应的ASCII码中,可以看出:要使字符1+2等于3需要1+2-0=3想必聪明的你,一定能想到:我们转化成对应的ASCII码的式子看看就知道了:49+50-48=51ASCII码对应的字符是多少呢?答案是显然的:就是-3,接下来还有什么问题呢?,进位的处理只需要定义一个整型intbinary;判断一下两个字符相加是否9如果是binary=1;否则binary=0;也就是说,字符相加时,需要把进位加上去哦:9+2-0+binary,不是很明白,对吧?我们举个例子,#include#includeintmain()intbinary=0;chara=9,b=8,bits,ten;bits=a+b-0+binary;if(bits9)bits-=10;binary=1;ten=0+binary;printf(%c%c,ten,bits);while(1);,看完例子之后,我们来实战一下,HDU1002SampleInput212112233445566778899998877665544332211SampleOutputCase1:1+2=3Case

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论