- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《高级语言程序设计》课程设计报告书题目:十六进制整数向其他进制整数转换的算法实现专业:计算机科学与技术学号:学生姓名:指导教师:完成日期:目录一、题目要求1二、系统概要设计22.1程序流程图22.2数据的组织描述32.3主要函数设计3三、系统关键代码33.1将十六进制转换为二进制33.2将十六进制数转换为八进制与十进制33.3完整代码6四、程序调试3五、课程设计总结3题目要求我的《高级语言程序设计课程设计》题目是:十六进制整数向其他进制整数转换的算法实现。指导教师对该题目有以下要求:实现十六进制整数向二进制、八进制、十进制整数的转换。经过努力,我实现了下面的功能:1.输入十六进制整数后,可输出转换的二进制、八进制、十进制整数。2.加入程序名称和感谢使用等,是程序界面更美观友好。下面的功能由于自己知识储备不足,未能实现:用户可以选择输出想要转换的进制。界面排版更加规整友好。输入数字包含错误字符时提示报错,否则正常运行。系统概要设计2.1程序流程图图1.程序流程图2.2数据的组织描述数制转换器程序是要求任意两种数间的相互转化,本次课程设计目标为实现十六进制向二进制、八进制、十进制的转化。对输入的十六进制的数字进行转换,实现常见进制间的转换以及多种进制同时输出,大大提高了本程序的实用性。本程序直接运用转换说明符来将直接数制转换为八进制与十进制,精简代码行数,减小程序体积:printf(*转换为十进制数为:%d\n,a);printf(*转换为八进制数为:%o\n,a);因十六进制不能通过转换说明符直接转换为二进制,所以选择先将十六进制数转换为十进制,再由十进制数转换成二进制数,完成一个间接转换过程。十进制转二进制是一个连续除2的过程,把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。?此程序中十六进制转二进制即用此思想:inta;chars[20]; inti=0,rem;printf(请输入一个十六进制整数: ); scanf(%x,a);do{rem=a%2;a=a/2; s[i]=rem;i++;}while(a!=0);printf(*转换为二进制数为:);while(i0)printf(%d,s[--i]);printf(\n);}2.3主要函数设计该系统涉及到的主要函数及其说明如表1所示:表1. 系统中的主要函数介绍序号函数声明函数功能1main()主函数是程序执行的起点2scanf()格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中3%x、%X无符号以十六进制表示的整数4%o无符号以八进制表示的整数5%d十进制有符号整数6do/while先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环7printf()格式化输出函数, 一般用于向标准输出设备按规定格式输出信息8getchar()让程序调试运行结束后等待编程者按下键盘才返回编辑界面系统关键代码下面详细地介绍一下第二部分中列出的各个函数。3.1将十六进制转换为二进制do{rem=a%2;a=a/2; s[i]=rem;i++;}while(a!=0);printf(*转换为二进制数为:);while(i0)printf(%d,s[--i]);printf(\n); }3.2将十六进制数转换为八进制与十进制int a;printf(请输入一个十六进制整数: ); scanf(%x,a);printf(\n); printf(*转换为十进制数为:%d\n,a); printf(*转换为八进制数为:%o\n,a);3.3完整代码#includestdio.hmain(){printf( ***进制转换器***\n); /*程序名称*/printf(\n);printf(\n);inta;char s[20]; /*定义有20个位置的字符串 */ inti=0,rem;printf(请输入一个十六进制整数: ); /*输入十六进制数*/ scanf(%x,a);printf(\n); printf(*转换为十进制数为:%d\n,a); /*转换为十进制*/ printf(*转换为八进制数为:%o\n,a); /*转换为八进制*/ do{rem=a%2;a=a/2; s[i]=rem;i++;}while(a!=0);printf(*转换为二进制数为:);while(i0)printf(%d,s[--i]); /*
您可能关注的文档
- 什么是真正的超音速巡航.doc
- 什么是中国梦,怎样理解中国梦.docx
- 沈北特大桥-钢混结合梁施工方案.doc
- 沈阳高速公路绿化施工组织设计.doc
- 沈阳工业大学测试技术试题库(带答案).doc
- 沈阳工业大学机械优化设计习题集.doc
- 沈阳建筑大学真题.doc
- 沈阳理工大学生产实习报告.doc
- 沈阳理工大学生产实习报告格式.docx
- 沈阳市运河水系综合治理工程(新开河东段)截污工程三标段.doc
- Unit7CareersLesson2CareerSkills课件高中英语北师大版选择性3.pptx
- 四川省广安第二中学高三下学期二模物理试卷.docx
- Module2Unit1ShelearntEnglish(课件)英语五年级下册3.pptx
- Unit2ie(课件)牛津英语自然拼读世界第三级 4.pptx
- Unit4Whenistheartshow_PBReadandwritetwonewkittens(课件)人教PEP版英语五年级下册 2.pptx
- Unit2WildlifeProtectionListeningandTalking课件高中英语人教版.pptx
- 黑龙江省大庆实验中学高三得分训练(二)文科综合试题.docx
- 第11课《山地回忆》教学设计-统编版语文七年级下册(1).docx
- 《和田的维吾尔》2教学文案.ppt
- 7.1力课件教科版物理八年级下册【05】.pptx
文档评论(0)