VB16进制间的相互转换课程设计Word文档下载推荐.docx

上传人:b****5 文档编号:17080845 上传时间:2022-11-28 格式:DOCX 页数:19 大小:687.23KB
下载 相关 举报
VB16进制间的相互转换课程设计Word文档下载推荐.docx_第1页
第1页 / 共19页
VB16进制间的相互转换课程设计Word文档下载推荐.docx_第2页
第2页 / 共19页
VB16进制间的相互转换课程设计Word文档下载推荐.docx_第3页
第3页 / 共19页
VB16进制间的相互转换课程设计Word文档下载推荐.docx_第4页
第4页 / 共19页
VB16进制间的相互转换课程设计Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

VB16进制间的相互转换课程设计Word文档下载推荐.docx

《VB16进制间的相互转换课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB16进制间的相互转换课程设计Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

VB16进制间的相互转换课程设计Word文档下载推荐.docx

2.1.1系统的驱动控制方案设计……………………………………………………………

……

结论…………………………………………………………………………………………

致谢…………………………………………………………………………………………

参考文献……………………………………………………………………………………

 

摘要

随着计算机的普及,计算机语言已经运用到生活的各个方面,本次课程设计使用VB语言作为开发工具,进行了各数制的相互转换的程序设计,该程序能实现电脑数制转换及详细计算的功能,能够更方便更准确的辅助我们设计和计算,计算结果详细精准,运行界面简单明了,操作方便简易能节约大量的时间。

关键词:

数字数制计算

1引言

1.1问题的提出

随着计算机的普及,有时随着工作的需要,我们也许在烦恼怎么才能快捷轻松的找到各数制之间的转换,要如何设计才能如傻瓜相机般能让人第一次运用就能准确使用,它对我们今后的学习有什么用。

1.2任务与分析

本课题主要的目的是为了合理的使用VB中的软件操作,设计一个简易的数制转换程序,实现数据之间的相互转换,输入数据即可得到想要的数制值。

1.操纵界面简单明了

2.尽量考虑成熟的操纵程序,简单,考虑周全,又漏洞很少

2设计方案

2.1程序设计原理

欲实现各数制(包括整数及其小数的)的相互转换,我们最熟悉:

2进制→8进制,2进制→10进制,2进制→16进制

8进制→2进制,10进制→2进制,16进制→2进制

如其他16进制到8进制这样的整数转换都很困难,更不要说他们的小数部分的转换咯,所以鉴于此,我的设计方案就是先写出以上6个函数程序,如代码中的Er_to_Si,Er_to_Ba,Er_to_SL等等这样的六个函数!

通过2进制这个桥梁,从而就能实现其他非常见的其他数制的转换,如16进制→8进制,就能通过函数的调用实现16进制→2进制→8进制的间接转换,如代码:

PublicFunctionSL_to_BA(ByValHexAsString)AsString

DimAAsString

A=sL_to_ER(Hex)“16进制→2进制

SL_to_BA=Er_to_Ba(A)“2进制→8进制

EndFunction

通过这样的方式就能轻松实现转换了!

2.1.1程序功能描述

1.实现整数的转换。

2.实现小数部分的转换。

3.在右侧的空白标签中输出结果。

2.1.2程序功能结构分析

2.2程序界面和代码设计:

2.2.1主页面的代码:

PrivateSubTimer1_Timer()

Picture1.Cls

Picture1.Print"

欢迎使用数制转换计算机"

Label3.Visible=True

Label7.Visible=False

Timer2.Enabled=True

EndSub

PrivateSubTimer2_Timer()

任冬|版权所有,复制必究"

Label7.Visible=True

Label3.Visible=False

Timer1=True

PrivateSubCombo1_Click()

DimiAsInteger

Fori=1To11

Command1(i).Enabled=True

Next

IfCombo1.Text="

十六进制"

Then

Fori=1To17

Else

Fori=12To17

Command1(i).Enabled=False

EndIf

IfCombo1.Text="

二进制"

Fori=2To9

八进制"

Command1(8).Enabled=False

Command1(9).Enabled=False

PrivateSubCommand2_Click()

Label2="

"

:

Label4="

PrivateSubForm_Load()

Combo1.AddItem"

十进制"

Combo2.AddItem"

PrivateSubCommand1_Click(IndexAsInteger)

SelectCaseIndex

Case0To10

Label2.Caption=Label2.Caption&

Command1(Index).Caption

Case11

Label2=Left(Str(Label2),Len(Str(Label2))-1)

Case12To17

EndSelect

2.2.2转换计算的代码:

PrivateSubCommand6_Click()

IfCombo2.Text="

ThenLabel4=Label2

ThenLabel4=Ten_to_Two(Label2)

ThenLabel4=Ten_to_Sl(Label2)

ThenLabel4=Ten_to_Ba(Label2)

EndIf

IfCombo2.Text="

ThenLabel4=Er_to_Si(Label2)

ThenLabel4=Er_to_Ba(Label2)

ThenLabel4=Er_to_SL(Label2)

ThenLabel4=BA_to_er(Label2)

ThenLabel4=Ba_to_Si(Label2)

ThenLabel4=BA_to_SL(Label2)

ThenLabel4=sL_to_ER(Label2)

ThenLabel4=sL_to_SI(Label2)

ThenLabel4=SL_to_BA(Label2)

2.2.3六个基本函数的代码:

PublicFunctionTen_to_Two(tenAsSingle)AsString

DimZsAsInteger,XsAsSingle

DimZsc,Xsc,XsdAsString

Xsd="

Zs=Fix(ten)

Xs=ten-Zs

DoWhileZs>

0

Zsc=ZsMod2&

Zsc

Zs=Zs\2

Loop

DoWhileXs<

>

Xsd="

."

Xs=Xs*2

Xsc=Xsc&

Fix(Xs)

Xs=Xs-Fix(Xs)

Ten_to_Two=Zsc&

Xsd&

Xsc

PublicFunctionTen_to_Sl(ByValOctAsSingle)AsString

DimBinAsString

Bin=Ten_to_Two(Oct)

Ten_to_Sl=Er_to_SL(Bin)

EndFunction

PublicFunctionTen_to_Ba(tenAsSingle)AsString

DimbAsString

b=Ten_to_Two(ten)

Ten_to_Ba=Er_to_Ba(b)

PublicFunctionEr_to_Si(ByValerAsString)AsString

DimiAsLong

n=InStr(er,"

Ifn=0Then

b=er

Else

b=Left$(er,n-1)

r=Right$(er,Len(er)-n)

Fori=1ToLen(b)

A=2^(Len(b)-i)

s=s+Mid(b,i,1)*A

Fori=1ToLen(r)

c=2^(-i)

Xs=Xs+Mid(r,i,1)*c

Er_to_Si=s+Xs

PublicFunctionEr_to_SL(ByValerAsString)AsString

DimHAsString

IfLen(b)Mod4<

0Then

b=String(4-Len(er)Mod4,"

0"

)&

b

IfLen(r)Mod4<

r=r&

String(4-Len(r)Mod4,"

Fori=1ToLen(b)Step4

SelectCaseMid(b,i,4)

Case"

0000"

H=H&

"

0001"

1"

0010"

2"

0011"

3"

0100"

4"

0101"

5"

0110"

6"

0111"

7"

1000"

8"

1001"

9"

1010"

A"

1011"

B"

1100"

C"

1101"

D"

1110"

E"

1111"

F"

EndSelect

Nexti

IfLen(H)<

1Then

WhileLeft(H,1)="

H=Right(H,Len(H)-1)

Wend

z=H

H="

Fori=1ToLen(r)Step4

SelectCaseMid(r,i,4)

r=H

Er_to_SL=z&

r

PublicFunctionEr_to_Ba(ByValBinAsString)AsString

DimHAsString

n=InStr(Bin,"

b=Bin

b=Left$(Bin,n-1)

r=Right$(Bin,Len(Bin)-n)

IfLen(b)Mod3<

b=String(3-Len(b)Mod3,"

IfLen(r)Mod3<

r=r&

String(3-Len(r)Mod3,"

Fori=1ToLen(b)Step3

SelectCaseMid(b,i,3)

Case"

000"

001"

010"

011"

100"

101"

110"

111"

Nexti

IfLen(H)<

WhileLeft(H,1)="

H=Right(H,Len(H)-1)

Wend

z=H

H="

Fori=1ToLen(r)Step3

SelectCaseMid(r,i,3)

x=H

Er_to_Ba=z&

x

PublicFunctionBA_to_er(ByValOctAsString)AsString

DimiAsLong

DimbAsString

Fori=1ToLen(Oct)

SelectCaseMid(Oct,i,1)

b=b&

WhileLeft(b,1)="

b=Right(b,Len(b)-1)

BA_to_er=b

PublicFunctionsL_to_ER(ByValHexAsString)AsString

Hex=UCase(Hex)

Fori=1ToLen(Hex)

SelectCaseMid(Hex,i,1)

sL_to_ER=b

2.2.4其他非常数制的函数调用:

PublicFunctionBA_to_SL(ByValOctAsString)AsString

Bin=BA_to_er(Oct)

BA_to_SL=Er_to_SL(Bin)

A=Hex

A=sL_to_ER(A)

A=Er_to_Ba(A)

SL_to_BA=A

PublicFunctionsL_to_SI(ByValHexAsString)AsString

b=sL_to_ER(Hex)

sL_to_SI=Er_to_Si(b)

PublicFunctionBa_to_Si(ByValOctAsString)AsString

b=BA_to_er(Oct)

Ba_to_Si=Er_to_Si(b)

3结果分析

分析:

该程序通过设计一个简易的数制转换程序和简单的函数调用过程,就实现实现了个数制转换的高度精确:

(如图)

结论

通过本次程序设计代码的编写,加强了对VB程序设计的深层认识和理解,巩固了VB上机操作能力,在课设创作的过程中,我学会了基本的VB编程技能,对软件制作也有了初步的了解。

同时也遇到了种种困难,体验到了编程的艰辛本次课程设计使用VB语言作为开发工具,进行了曲线的绘制和度数程序设计的程序设计,该程序能实现电脑绘制曲线及详细计算的功能,能够更方便更准确的辅助我们设计和计算,计算结果详细精准。

另外感谢朱晓海老师的悉心帮助,如果没有老师的帮助,完成此任务是很困难的。

另外软件的制作是一件辛苦而费力的工作,但在同学的努力下,我们不但按时完成,而且从中学到了许多课本上没有的东西,首先是团队的合作精神。

现代软件的制作不是一个人可以完成的,个人始终需要集体的支持。

在确定制作项目之后,我们进行了分工,每个人都有任务。

但分工不等于对其余人的工作放手不管,在遇到困难时,大家集中在一起进行分析讨论,共同解决。

其次是学习与实践的关系。

在课本上学到了VB程序的基础知识。

但在实践中,需要大量的拓展知识。

我们在理解书本知识的基础上,查阅了大量的书籍,不仅找到了问题的解决方法,而且优中取优,尽量选取最简方法,从而促进了我们VB知识的提

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1