




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超大数的四则运算 请计算 1 2的1000次幂2 2的10000次幂3 123456789012345678912345678903453434534534535345434543乘上93874293874928734928734028034820938479288374892733453453534 主要内容 数字存储的实现 大数计算的因数和结果精度一般是少则数十位 多则几万位 在C C 语言中定义的类型中精度最多只有二十多位 因而我们采取用链表存贮的方式来存放大数 在计算中会用到从高位开始计算 和从低位开始计算数值的两种情况 所以我们将链表定义为双向链表 其中为一个单元来存贮数据 一个指针指向前方的数据 另一个指向后的数据 其结构为 数字存储的实现 structNode 定义一个双向链表用来存贮结果 chardata 数据 定义为字符的原因 要显示负号Node next 尾指针Node ahead 首指针 加法运算的实现 加数 被加数 初始化进位为0 各对应位相加后再加上进位数 1 进位为1 0 由低位向高位相加计算 直至所有运算结束 处理中注意问题 减法运算的实现 算法也是从低位开始减 先要判断减数和被减数那一个位数长 减数位数长是正常减 被减数位数长 则被减数减减数 最后还要加上负号 两数位数长度相等时 最好比那一个数字大 否则负号处理会很繁琐 处理每一项时要 如果前一位相减有借位 就先减去上一位的借位 无则不减 再去判断是否能够减开被减数 如果减不开 就要借位后再去减 同时置借位为1 否则置借位为0 减法运算的实现 减数 被减数 初始化借位为0 各对应位相减后再减上借位数 1 借位为1 9 由低位向高位相加计算 直至所有运算结束 处理中注意问题 乘法运算的实现 首先说一下乘法计算的算法 从低位向高位乘 在竖式计算中 我们是将乘数第一位与被乘数的每一位相乘 记录结果 之后 用第二位相乘 记录结果并且左移一位 以此类推 直到计算完最后一位 再将各项结果相加 得出最后结果 当然我们可以直接用这种方法 但要用多个链表来保存计算出的分结果 之后结果再相加得到最后结果 但是这样会浪费很多空间 乘法运算的实现 只用一个链表来表示结果 先把第一位乘数与被乘数的结果保存在链表中 之后把存储结果的头部后移一位 也就是从链表的第二加起 当第二位乘数与被乘数结果加到第二之后的各个项内 以此类推 直到结束 这样就可以用一个链表来存储相乘后的结果 乘法运算的实现 乘数 被乘数 初始化进位为0 各对应位相乘后再加上进位数 1 进位为5 6 由低位向高位相加计算 直至所有运算结束 处理中注意问题 3 输出时要逆序输出 因为链表首指针是存的结果的最低位 函数为了对应输入输出结果的一致性 都有采用了字符串输出 所以在输出时又将链表转为了字符串 除法运算的实现 首先说一下我们所要的结果 当除数除不开被子除数时 不用除到小数 当除数小于被除数时 除数作为余数既可 不用再向下除了 除法运算的实现 除法算法最容易想到的数字电路 或模拟电路时里面有用门实现的除法器 做法是用除数减被除数 再用一个加法器去计算存储结果 算法简单明了 计算速度比算乘方时还慢 电路中计算的长度不过8位 16位 32位 而且都是硬件实现 现要算的是几千位 几万位 特别是两数位长度差很大时计算速度相当慢 如10000 3时要进行多少次链表运算啊 除法运算的实现 就是从高位向低位减 减时以被除数长度为单位 从高位取出大于被除数的字符串 和被除数相减 减的次数为结果 余数从剩下的除数高位再取出几位做补位 直到大于被除数 再减 循环减到被减数大于余数加上补位 那么这个新的余数作为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州石牛山景区招聘5人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025湖南衡阳市水务投资集团有限公司招聘30人模拟试卷及答案详解(新)
- 2025年绍兴新昌县卫健系统第一次公开招聘编外人员6人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025广东肇庆市人力资源和社会保障局选聘法律顾问模拟试卷(含答案详解)
- 2025年广东广州市海珠区委统战部招聘雇员1人模拟试卷及参考答案详解一套
- 2025洛阳中旅银行星途财富智旅宝理财产品托管合同
- 2025湖南永州市教育局直属学校(单位)招聘教师46人模拟试卷附答案详解
- 2025年5月汉中市铁路中心医院招聘模拟试卷及参考答案详解一套
- 2025安徽合肥滨投文化创意发展有限公司招聘3人模拟试卷及1套完整答案详解
- 2025内蒙古赤峰市林西县体制单位面向林西招录考前自测高频考点模拟试题完整答案详解
- 2025年陕西省专业技术人员继续教育公需课答案
- 2025年土方坍塌应急预案演练脚本
- 医院常用消毒液的使用及配置方法
- 2022英威腾MH600交流伺服驱动说明书手册
- 2025年中国药典培训试题及答案
- 新疆教育惠民政策课件
- 非法言论主题班会课件
- 急性呼吸衰竭的诊断与治疗
- 2025年高校教师资格证之高等教育法规题库(综合题)
- 管道保温检查管理制度
- 2025至2030中国数字PCR(dPCR)和实时PCR(qPCR)行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论