十进制和二进制相互转化程序的设计书.docx
- 文档编号:14361251
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:12
- 大小:344.74KB
十进制和二进制相互转化程序的设计书.docx
《十进制和二进制相互转化程序的设计书.docx》由会员分享,可在线阅读,更多相关《十进制和二进制相互转化程序的设计书.docx(12页珍藏版)》请在冰点文库上搜索。
十进制和二进制相互转化程序的设计书
十进制和二进制相互转化程序设计书
需求分析
随着技术的不断提高,进制转换向着简单化,规模化发展,而对于只能识别二进制0和1码的计算机来说,如何翻译成人类可以认识和编译的语言,和安全加密等给信息管理有关的信息随之增加。
在这种情况下单靠人工来处理这些信息不但显得大不从心,而且极容易出错。
因此,需要开发二进制与十进制互换系统,该系统可以实现由计算机代替人工执行一系列复杂而繁琐的操作,使得办公人员可以轻松快捷的完成进制转换的任务。
总结系统需求分为大体分为5个模块:
首先第一个需要数据的信息输入,即输入数据的基本信息包括输入的进制选项,所输入的二进制位数,所输入的二进制数,所输入的十进制数和判断是否全1或全0五个模块。
第二个需求是判断数据进制选项信息,在信息和科技不断进步的今天,数据及时准确的更新成了任何一个系统的首要任务,本系统应时代所需设计了数制信息功能,包括对包括数据的进制,二进制数据的位数,十进制数据,进行进制转换计算。
第三个需求是所输入的二进制数据,数据的运行使用主要是解决向十进制转换
第四个需求是所输入的十进制数据,数据运行使用主要是解决向二进制转换。
第五个需求是打印退出,在对系统进行操作后,退出系统。
1.1数据需求分析
本系统的主要数据进制转换的实现。
转换包括:
二进制数向十进制数转换,十进制数向二进制数转换,判断是否为全0或全1,是否继续执行等。
1.2功能需求分析
本程序功能为二进制和十进制的相互转换,二进制转十进制主要根据进制转换的根本方法,分别乘以2的次方得到十进制数;十进制转二进制主要根据“除2取余法”得到二进制数。
另外,本程序简单易懂,操作简便,给出引导说明,以及还出错处理,只需按照提示输入即可用。
本系统主要实现对二进制与十进制之间互换,需要实现以下几个方面的功能:
(1)二进制转十进制:
选择二进制向十进制转换,选择二进制位数,输入二进制数,进行数制转换,输出结果,判断是否继续。
(2)十进制转二进制:
选择十进制向二进制转换,输入十进制数,进行数制转换,输出结果,判断是否继续。
2系统总体设计
2.1系统模块划分
本系统主要是对二进制与十进制互换的管理,包括了二进制转十进制、十进制转二进制。
整个系统分为以下几个模块。
1、主界面模块
本模块提供选择界面的欢迎界面和主菜单界面,供用户选择与执行各项操作工作。
2、输入界面
本模块用于输入数据信息,例如输入二进制位数并输入二进制数(3,101)等。
3、显示转换结果
本模块用于显示转换后的数据信息,以及提供是否继续信息。
2.2系统模块结构图
算法
二进制转十进制:
通过循环将二进制每一位分别乘以2的相应次方,相加得到十进制数;
十进制转二进制:
通过“除二取余”发循环,将每一位存在一个数组中;直到除数为0,将此数组逆置,得到该数相应的二进制数。
3系统详细设计
3.1程序流程图
3.2中文DOS界面
在VC++6.0环境中将已编写好的程序代码通过编译、调试和运行操作,即可得到以下DOS界面。
3.3程序代码清单
/*二进制与十进制的相互转换*/
#include
#include
#include
#include
voidmain()
{
charc,Y[33],temp[33];
intn,i=0,k,j=0;
doubleT;
for(c='y';c!
='n'&&c!
='N';)
{cout<<"请选择:
"< cout<<"1.二进制转十进制;"< cin>>k; switch(k) { case1: { printf("请输该数位数: \n"); cin>>n; cout<<"请输该数: "; for(i=0;i { cin>>Y[i]; if(Y[i]! ='0'&&Y[i]! ='1') { cout<<"输入有误! "< break; } } if(i break; else { for(T=0,i=0;n>0;i++) { if(Y[i]=='1')T=T+pow(2,n-1); n=n-1; } cout<<"该数的十进制为: "< break; } } case2: { cout<<"请输入十进制数: "< cin>>n; for(i=0;n! =0;i++) { k=(n%2); n=n/2; if(k==1)Y[i]='1'; else if(k==0)Y[i]='0'; } for(j=0,i=i-1;i>=0;i--,j++) temp[j]=(int)Y[i]; temp[j]='\0'; cout<<"该数的二进制数为: "; for(i=0;temp[i]! ='\0';i++) cout< break; } default: cout<<"输入有误! "< } cout< "; cin>>c; cout< } } 4系统连编与运行结果 4.1程序运行起始界面 4.2输入一个十进制的正整数,转化为二进制 4.3输入一个二进制数,转化为十进制 4.4输入一个十进制的负数,转化为二进制 4.5输入一个十进制小数,转化为二进制时,提示为 总结 通过此次对数据结构课程设计课题的实践操作,本设计开发的二进制与十进制相互转换系统从最后的测试结果来看,基本上实现了二进制与十进制互换的几大功能: 按选项选择输入操作,根据选项选择输入的二进制数位数,输入二进制转十进制,输入十进制转二进制,判断是否为全0或全1等功能要。 系统采用模块化程序设计的方法,便于不同功能操作间的独立与联系。 本系统经过测试,证明其运行是可靠、稳定的。 但在系统设计中中也遇到很多的问题,并且本系统的功能还需要不断的完善和改进,在以后的空闲时间里进一步完善,使系统功能更加完善。 在此次设计过程中,得益于老师的尽心指导。 在此表示由衷的感谢! 参考文献 [1]谭浩强.C程序设计(第三版).北京: 清华大学出版社,2002.7 [2]严蔚敏,吴伟民.数据结构(C语言版).北京: 清华大学出版社,2003.4 [3]商信华.数据结构.西北大学出版社,2005.6 [4]王珊,萨师煊.数据库系统概率.高等教育出版社,2004.6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十进制 二进制 相互 转化 程序 设计