- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机学院《高级语言程序设计》课程设计报告
PAGE6
学号
201
2016-2017学年第二学期
《C语言程序设计》
课程设计报告
题目:
数制转换
专业:
网络工程(对口)
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年4月25日
目录
TOC\o1-3\h\z\u一、转换概述 2
1、需求分析 2
2、概要设计 2
3.详细设计 4
1.十进制转化为任意进制函数: 4
2.任意进制转化十进制函数: 5
3.程序流程图 6
4.运行环境 11
5.开发工具和编程语言 12
二、数学原理 13
十进制转二进制: 13
十进制转八进制: 13
十进制转十六进制: 14
二进制转十进制: 14
二进制转八进制: 14
二进制转十六进制: 15
八进制转十进制: 15
八进制转十六进制: 16
十六进制转二进制: 16
十六进制转八进制: 16
三、附:源代码 17
测试结果 22
参考文献 25
四、小结 26
致谢 26
一、转换概述
1、需求分析
进制数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有:十进制,二进制、八进制和十六进制。十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一。
要求:
输入一个十进制数N,将它转换成R进制数输出,并可以进行逆转换。
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2=R=16,R10)。
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
界面友好。
2、概要设计
数制转换器程序是要求任意两种数间的相互转化,本次课程设计以任意进制间转换为中心实现二进制、八进制、十进制、十六进制、十八进制之间的相互转化。对输入的任意进制的数字进行转换,实现常见进制间的转换以及用户自定义需要转换的目标进制数,这样大大提高了本程序的用途。常见的二进制、八进制、十进制、十六进制、十六进制之间的固定转换,其转换方式大同小异,从低进制数向高进制数转换进行乘数累加,反之则逐步求余,最终进行分布计算得到想要的结果,对以上思想进行扩展,使其不仅仅局限于那些常见进制间的转换,更多的应用到任意进制之间的转换。本次系统程序,主要有两大模块组成,即任意进制转换为十进制、十进制转换为任意进制,这两部分共同组成了对任意进制数的转换的实现,通过菜单选择,让用户实现自己想要的结果,同时也在程序的简洁上有所压减,达到简洁的应用程序实现相对较复杂的功能。最后打印输出结果,清屏执行下次任务。
该程序包括七个子函数模块,其中菜单函数模块定义为整型,其余字符转换函数处理模块都根据函数所需定义数据类型。数制转换器处理系统中用数组来储存处十进制以外的数,将一个指定进制的数,从低到低高一位一位取出,并计算出每位的十进制值,然后乘以其数基的特定幂指数,得出这一位数的十进制值,将所有各位的十进制值相加得出这个数的十进制值,然后再将该十进制数转换为指定数制的数,此过程采用求余法进行,用这个十进制数作为被除数,用指定的数基作除数,连续求余,得出的余数依由个位到十位等的顺序组成新数,即得指定数制的数。
(1)逻辑设计如图所示:
图2.1
程序中各函数简单说明见如表1、1函数说明所示:
表2.1
返回值
函数名
参数表
函数说明
int
main
void
主函数
void
intANY_ten()
intx,intnum
任意进制转换为十进制
void
Intten_ANY()
intnum,inty
十进制转换为任意进制
void
ten_ANY()
num,2
十进制转换为二进制
void
list1()
num
进制转换菜单
void
list2()
num
主菜单
void
ANY_ch()
num,num
任意进制间的转换
3.详细设计
1.十进制转化为任意进制函数:
十进制整数num转换为任意(x)进制整数采用除x取余,逆序排列法。具体做法是:用x去除十进制整数,可以得到一个商和余数;再用x去除商,又会得到一个商和余数,如此进行,直到商为一时为止,然后把先得到的余数作为x进制数的低位有效位,后得到的余数作为x进制数的高位有效位,结构图如图3.4所示:
intANY_ten(intx,intnum)
{
inti,j=0;
ints=0;
for(i=1;num!=0;i*=x)
{
您可能关注的文档
最近下载
- 汽车坡道玻璃雨棚施工方案.doc
- 抗精神病药长效针剂治疗精神分裂症的专家共识.pptx
- NB╱T 31112-2017 风电场工程招标设计技术规定.pdf
- 专升本退役士兵计算机考试试卷.docx VIP
- 2018人教版六年级美术上册教案.doc VIP
- 2022年捷昌驱动行测笔试题库.pdf
- 16-pf(卡特尔16种人格因素问卷及答案).pdf VIP
- 龙思思-新媒体产品设计与项目管理-第6章 新媒体产品竞争分析.pptx VIP
- 中华民族共同体概论课件专家版15第十五讲:新时代与中华民族共同体建设.pdf VIP
- 超长大体积混凝土结构跳仓法技术规程超长大体积混凝土结构跳仓法技术规程.pdf VIP
文档评论(0)