欢迎来到天天文库
浏览记录
ID:57631830
大小:140.49 KB
页数:5页
时间:2020-08-29
《VB程序设计-进制转换研究.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VB程序设计-进制转换研究(作者:草原飞狼2014年5月29日)声明:仅供学习与交流使用,高手请飘过,谢谢!所有代码都是个人亲自编写并调试成功。布局算法示意图(1)5算法示意图(2)运行界面(1)源代码如下:PrivateSubCommand1_Click()5Rem二进制转十进制,普通方法DimdAsString'd表示text1中的某一个具体的字符DimiAsInteger'i表示循环变量DimstrAsString'str表示text1中去掉空格后的字符串DimddAsInteger'dd表示一个十进制数Dimlen_strAsInteg
2、er'表示text1中去掉左右空格后文本的长度str=Trim(Text1.Text)len_str=Len(str)Rem以下是二进制输入合法性的判断Fori=1Tolen_strd=Val(Mid(str,i,1))Ifd>1ThenMsgBox"请重新输入一个合法的二进制数!",vbOKOnly+vbExclamation,"错误提示"Text1.Text="1010"Text1.SetFocusExitSubEndIfNextiRem以下是二进制转十进制的算法dd=0Fori=1Tolen_strdd=dd+Val(Mid(str,i,
3、1))*2^(len_str-i)'核心算法,注意理解NextiText3.Text=ddEndSubPrivateSubCommand2_Click()Rem清空Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""EndSubPrivateSubCommand3_Click()Rem退出UnloadMeEndSubPrivateSubCommand4_Click()Rem十进制转二进制,普通方法DimstrAsString'用于连接生成的余数DimddAsInteger'用于生成当前的商dd
4、=Val(Text2.Text)5DoWhiledd>0str=ddMod2&str'注意字符串的连接顺序:把余数连接在当前字符串之前dd=dd2'求商Loop'Printdd'dd=0Text4.Text=strEndSubPrivateSubCommand5_Click()Rem二进制转十进制,函数调用方法DimdAsString'd表示text1中的某一个具体的字符DimiAsInteger'i表示循环变量DimstrAsString'str表示text1中去掉空格后的字符串DimddAsInteger'dd表示一个十进制数Dimlen
5、_strAsInteger'表示text1中去掉左右空格后文本的长度str=Trim(Text1.Text)len_str=Len(str)Rem以下是二进制输入合法性的判断Fori=1Tolen_strd=Val(Mid(str,i,1))Ifd>1ThenMsgBox"请重新输入一个合法的二进制数!",vbOKOnly+vbExclamation,"错误提示"Text1.Text="1010"Text1.SetFocusExitSubEndIfNextiCallertoshi(str)'函数调用,此名也可以省略Text3.Text=erto
6、shi(str)EndSubPrivateFunctionertoshi(ByValmystrAsString)AsStringRem2进制转10进制函数,以下变量与主函数同名,也可以定义成全局变量DimiAsIntegerDimddAsIntegerDimstrAsString'str表示text1中去掉空格后的字符串Dimlen_strAsInteger'表示text1中去掉左右空格后文本的长度str=Trim(Form1.Text1.Text)len_str=Len(str)dd=0Fori=1Tolen_strdd=dd+Val(Mid
7、(str,i,1))*2^(len_str-i)Nextiertoshi=dd'将dd值返回给函数EndFunction5PrivateSubCommand6_Click()Rem十进制转二进制,函数调用方法DimddAsInteger'用于生成当前的商dd=Val(Text2.Text)Callshitoer(dd)Text4.Text=shitoer(dd)EndSubPrivateFunctionshitoer(ByValmyddAsInteger)AsStringRem10进制转2进制函数DimmystrAsStringmystr=""
8、DoWhilemydd>0mystr=myddMod2&mystr'注意mystr连接顺序mydd=mydd2Loopshitoer=mystr'将
此文档下载收益归作者所有