[计算机软件及应用]数制转换问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]数制转换问题

数 据 结 构 课 程 设 计 设计题目: 数制转换问题 学生姓名: 严根 专业班级: 10计算机科学与技术(1)班 指导教师: 姚丽莎 完成时间: 2012-6-2 信息工程学院院计算机科学院与技术系 课题名称 数制转换 院 系 信息工程学院 年级专业 10计科(1)班 学 号 姓 名 成 绩 1042151140 严根 课题设计 目的与 设计意义 课题设计目的: 一.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 四.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风 课题设计意义: 锻炼我们的编码能力,真正理解数据结构的编码思想,并且锻炼我们的动手能力和成员间的配合,提高程序编写能力。 指导教师:姚丽莎 2012年 06月02日 1 引 言 4 1.1 课程背景 4 1.2 课程设计目的 5 1.3 课程设计内容 5 2 系统设计方案 6 2.1系统概述 6 2.2 系统结构设定 10 2.3 系统 11 3 系统运行环境与结果测试 13 3.1 运行环境 13 3.2运行结果测试 14 6.总结 18 5.参考文献 19 6.附录 源程序代码 19 1 引 言 在计算机中数据的存放及计算均是以二进制来表示的。但在现实生活中都以十进制数来进行计算,而且在使用程序语言对计算机进行操作时,还经常会用到十六进制、八进制等,因此,不同计数制之间的相互转换是十分必要的。在计算机中,信息处理的方法将是将信息以数字组合表示,并使用数学和逻辑的规律建立算法,并转换为数字运算操作。其中计算机进行信息处理的对象有数值、文字、图像、图形分析处理、多媒体等。使用计算机的人每时每刻都在与数打交道,在计算机内部,数是以二进制表示的,而我们习惯上使用的是十进制数,所以计算机从我们这里接收到十进制数后,要经过翻译,把十进制数转换为二进制数才能进行处理,这个过程是由计算机自动完成的。但是对程序员来说,有时需要把十进制数转换为二进制数、十六进制数和八进制数,或者把十六进制数转换为十进制数等,这都不是一件轻松的工作,为了使这项工作变得轻松愉快 图1.1 数制转换程序运行图 课程设计目的 不同数制之间的转换问题一直是计算机方面的一个重点,无人不知,无人不晓。在计算机内部是用二进制来表示各种信息的。之所以采用二进制数,首先是由于二进制数用电子器件比较容易实现。例如,晶体管的导通或截止,电脉冲的有或无,开关的通或断,电位的高或低等恰好都可以表示为二进制数1或0其次是由于二进制数比较简单,这就简化了运算器等物理器件的结构设计。但在现实生活中都以十进制数来进行计算,而且在使用程序语言对计算机进行操作时,还经常会用到十六进制、八进制等.1系统概述 本程序用了三种不同的方法实现对数制的转换,每种转换方式都有自身的特点。在用数组实现时分为两个部分,首先对整数部分进行转换,然后对小数部分进行转化。 图2.1 数组初始化 图2.1是数组的初始初始状态,对于二进制数111.111的转化,首先将其转化为十进制数7.875,然后在将该数分解为整数部分和小数部分,向其他进制数进行转换[3],如向三进制数转换。整数部分转化完时程序的图形为如图2.2所示: 图2.2 整数转化数组形式 然后再进行小数部分转化,小数部分的值就是0.875与基数3不断相乘后整数部分的数值,由于可能在进制的小数部分不能完全转化,我们可以规定最多转换的位数,在本程序中就规定最多转化30位,小数部分转化示意图如图2.3所示: 图2.3 小数部分转化图 基于栈的实现,,栈的初始状态如下图2.4所示: 图2.4 栈的初始化 由于栈是先进后出[4],所以我先对小数本分进行转化对于十进制数8.875向二进制转换时,小数部分转换完时栈的情况如图2.5所示: 图2.5 小数部分转化图 整数部分转后的情况如图2.6所示: 图2.6 整数部分转化后情况 字符串的转换类似于数组[5]的转换,具体道理就不一一道来了,主要转换函数如下: void Dec2MStack(int M,double dec,Stackchar result) { int iter=0; int polarity=1; char Table

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档