资源描述
Visua l Ba sic迤制事事换器篇名Visua l Ba sic迤制巾豺奠器 Visua l Ba sic迤制事事换器壹前言由於二年了“数位暹辑”中的二迤制、八迤制、十迤制舆十六迤制的傅换,可是甯只懂得二迤制,而我凭生活常用的卸是十迤制,再含十算方面上造成FF多 不便,彳爰来樊明了八迤制和十六迤制,但我凭曾招二迤制樽成十六迤制以方便 算,千篇一律的手勤看十算不符合现代人迅速、曾罩及不费畤的生活要求,焉了使 1十算上瓢金昔昌臭且不费日寺的情沆下,招Visua l Ba sic舆迤制结合,崖生了“Visua l Ba sic迤制傅换器”,使迤制傅换更方便、更快速,於是决定使用Visua l Ba sic舆 数位暹辑之迤制的交互用,来富作本的研究事题项目。冢正文一、研究勤械在二年级擘雪的数位暹辑和丫讪318豆,数位诞辑桂的迤制中|我年号花了不少日寺 在算上,常数字小日寺,在t十算上可能不曾有任何差金昔,日寺也不曾花很多,可是富数字大日寺,可能曾出现算金昔的情形,即使汉金昔,所花费的畤也相常多,舄了迤制算燮得曾罩且瓢金昔后吴,我年号突彝奇想利用Visua l Ba si来裂作迤制醇 换,再加上本系且望寸於Visua l Ba sic有相常的典趣,於是揩二迤制、八迤制及十六 迤制樽成十迤制,亦或符十迤制樽成二迤制、八迤制及十六迤制,更不需透谩十 迤制,而可以符二迤制典八迤制互相傅换,使得更加的方便,以及深入的了解 Visua l Ba sic 卿B制 二、研究目的1.了解Visua l Ba sic相的用指令2.使在迤制建算上更加快速3.在求瞪答案畤能更有效率更加型碓-2-Visua l Ba sic迤制事事换器三、研究谩程1.迤制算法十迤制樽换(以下假十迤制输入焉21)A.十迤制十迤制不需任何的傅换,所以得到系吉果焉21(10)=21(10)B.十迤制W二迤制21/2=10 110/2=5 05/2=212/2=101/2=01绘数由下往上排列焉10101,所以得到系吉果焉21(10):10101(2)C.十迤制W八迤制21/8=252/8=02绘数由下往上排列篇25,所以得到结果焉21(10)二25D.十迤制W十六迤制21/16=1 51/16=0 1绘数由下往上排列焉15,所以得到系吉果焉21(10):15(16)二迤制傅换(以下假二迤制输入焉11101)二迤制桂没有2以上的数字,只能有0跟1。A.二迤制W十迤制符11101由右往左分别乘上2的0次方、1次方、2次方等等以此推1十算篇1*2 A0=10*2A1=01*2 A2=41*2 A3=81*2A4=16再招所有结果加起来,所以得到结果焉11101(2)=29(10)-3-Visua l Ba sic迤制本事换器B.二迤制W二迤制不需任何的傅换,所以得到结果焉11101:11101C.二迤制W八迤制先醇成十迤制在傅焉八迤制,所以i十算谩程篇1*2 A0=10*2人1=01*2八2=41*2八3二81*2 A4=16左禹二迤制傅十迤制其余吉果焉2929/8=3 5 3/8=03右焉十迤制樽八迤制其结果篇35由上述1十算可得到结果篇H101=35(8)D.二迤制W十六迤制先醇成十迤制在傅禹十六迤制,所以算谩程焉1*2八0=1 0*2A1=01*2人2=429/16=1 13 1/16=011*2人3=81*2人4=16左禹二迤制傅十迤制其余吉果焉29右焉十迤制樽十六迤制由於十六迤制大於10的数字曾用英文来代替,分别焉:A=10,B=11,C=12,D=13,E=14,F=15所以十迤制樽十六迤制的结果焉1D由上述算可得到结果焉11101=1D(16)八迤制傅换(以下假八迤制输入焉13)八迤制桂没有8以上的数字,只能有1至J 7的数字。A.八迤制十迤制符13由右往左分别乘上8的0次方、1次方、2次方等等以此推算意)3*8A0=31*8人 1=8再招所有结果加起来,所以得到结果焉13(8)=11(10)-4-Visua l Ba sic迤制本事换器B.八迤制|二迤制先醇成十迤制在醇舄二迤制,所以算谩程焉3*8 人 0=3 11/2=511*8A1=8 5/2=212/2=101/2=01左焉八迤制傅十迤制 右焉十迤制傅二迤制其余吉果焉11 其结果:1011由上述算可得到结果:g 13=1011C.八迤制八迤制不需任何的傅换,所以得到结果焉13(8)=13(8)D.八迤制辅十六迤制先傅成十迤制在傅焉十六迤制,所以If算遇程焉3*8 人 0=3 13/16=0 131*8人1=8左焉八迤制傅十迤制 右焉十迤制傅十六谨制其结果篇11由於十六迤制大於10的数字曾用英文来代替,分别舄:A=10,B=11,C=12,D=13,E=14,F=15所以十迤制傅十六迤制的结果篇B由上述算可得到结果焉13(8)=B(16)(4)十六迤制穗换(以下假I殳十六迤制输入:g 1A)十六迤制81有ABCDEF道六彳固英文字母,分别代表篇:A=10,B=ll,C=12,D=13,E=14,F=15 来看以下的傅换方法:(其中A=10,所以以下用10来代替)A.十六迤制傅十迤制符1A由右往左分别乘上16的。次方、1次方、2次方等等以此推If 算篇10M6A0=101*16Al=16再揩所有余吉果加起来,所以得到余吉果焉1A(8)=26(10)-5-Visua l Ba sic迤制本事换器B.十六迤制W二迤制先醇成十迤制在醇舄二迤制,所以算谩程焉10*16A0=10 26/2=13 01*16人 1=16 13/2=6 16/2=30 3/2=11 1/2=01左焉十六迤制傅十迤制 右焉十迤制傅二迤制其结果篇26 其结果篇11010由上述1十算可得到结果焉1416)=110102)C.十六迤制W八迤制先醇成十迤制在傅焉八迤制,所以i十算谩程篇10*16 Ao=101*16A 1:16左焉十六迤制傅十迤制其余吉果焉2626/8=3 2 3/8=03右焉十迤制樽八迤制其结果篇32由上述鼠十算可得到结果焉1A(16):32(8)D.十六迤制W十六迤制不需任何的樽换,所以得到结果焉1A(16)=1A(16)2.Bl(一)VB迤制傅换器-6-Visua l Ba sic迤制本事换器表(一)物件定物件名彳禽(Na me)尉生1殳定值FormlCa ptionVB数位醇换器Combo 1、Combo2Text溟撵迤制Textl、Text2Text(空白)Textl、Text2Alignment1-靠右封膂Text2Ena bledFa lseCmdCha ngeoverCa ption傅换CmdClea rCa ption清除CmdEndCa ption皿藉由逗撵迤制在迤行樽换取得结果,其中逮官殳有清除跟高08的按,其中揩左遏空格焉输入值,右遏空格焉输出值。以下篇Visua l Ba sic迤制傅换器的程式礁Priva te Sub Foi*m_Loa d()Dim i As IntegerDim choose_left(l To 4)As StringDim choose_right(l To 4)As String先言殳定雨障列来存取雨彳固下拉式逗罩桂要放的柬西choosejeft(l)=十迤制:choose_right(l)=十迤制choose_left(2)=二迤制:choose_right(2)=二迤制choose_left(3)=八迤制:choose_right(3)=八迤制choose_left(4)=十六迤制:choose_right(4)=十六迤制存取完军彳爰,再利用迪I圈输入余合雨偃I下拉式逗罩For i=1 To 4Combo 1.Additem choosejeft(i)Combo2.AddItem choose_right(i)Next iEnd Sub其结果焉:-7-Visua l Ba sic迤制本事换器H(-)左遏下拉式逗罩11(三)右遏下拉式逗罩Priva te Sub CmdCha ngeover_Click()Dim cha(lOO)As StringDim i As Integer,Test As StringDim Bina ry As Integer,Dina ry As IntegerDim Octa l As Integer,Hex As Stringi=1以下都曾用一雨彳固退圈符数字拆成偃I位数旋存取在cha(lOO)此障列上,道檄才可 迤行醇摸,由於每彳固傅换方法皆不同,:W的方法也曾因此不同。以十迤制傅十迤制的方式If Combo 1.Text=十迤制And Combo2.Text=十迤制ThenDina ry=Textl.TextText2.Text=Dina ry-8-Visua l Ba sic迤制本事换器a VB港制尊换器B0I十迤制 3|十谨制 3|2A 樽拯|2711(四)十迤制樽十迤制结果以十迤制W二迤制的方式ElselfCombol,Text=“十迤制 And Combo2.Text=二迤制 ThenDina ry=Textl.TextWhile i 100cha(i)=Dina ry Mod 2Dina ry=Dina ry 2Bina ry=Bina ry+cha(i)*10 A(i-1)再利用十迤制傅二迤制的方法嘉入i=i+1WendText2.Text:Bina ryU(五)未按傅前-9-Visua l Ba sic迤制本事换器ffiK六)按下去彳麦以十迤制W八迤制的方式ElselfCombol,Text=十迤制 And Combo2.Text=ABSfl ThenDina ry=Textl.TextWhile i 100cha(i)=Dina ry Mod 8Dina ry=Dina ry 8Octa l=Octa l+cha(i)*10 A(i-1)再利用十迤制醇八迤制的方法嘉入i=i+1WendText2.Text=Octa l11(七)十迤制醇八迤制结果-10-Visua l Ba sic迤制本事换器以十迤制十六迤制的方式Elself Combo 1.Text=十迤制And Combo2.Text=十六迤制ThenDina ry=Text 1.TextWhile i 100cha=Dina iy Mod 16Dina ry=Dina ry 16Select Ca se cha(i)Ca se Is=10:cha(i)=ACa se Is=ll:cha(i)=BCa se Is=12:cha(i)=CCa se Is=13:cha(i)=DCa se Is=14:cha(i)=ECa se Is=15:cha(i)=FEnd SelectHex=cha(i)+Hexi=i+1WendWhile Left(Hex,1)=0Hex=Mid(Hex,2,Len(Hex)-1)揩 Hex 左遏的 0 全部消掉 WendText2.Text=Hexffl(A)十迤制醇十六迤制结果-11-Visua l Ba sic迤制本事换器以二迤制十迤制的方式Elself Combo 1.Text=二迤制And Combo2.Text=十迤制ThenBina iy=Textl.TextWhile i=2 ThenMsgBox 每低I数字不能大於等於2”,J二迤制金昔热11(九)二迤制金昔Dina ry 二 0i=i+100End Ifi=i+1WendText2.Text=Dina ry二迤制只有0跟1,所以造成金昔官吴二迤制金昔官吴,输出的结果:0二迤制金昔官吴,迪圈直接结束-12-Visua l Ba sic迤制本事换器H(+)二迤制樽十迤制结果以二迤制W二迤制的方式ElselfCombol,Text=二迤制 And Combo2.Text=二迤制 ThenBina ry=Textl.TextWhile i=2 ThenMsgBox 每他|数字不能大於等於2,,“二迤制金昔魄判Bf数字是否小於2Test=0i=i+100End Ifi=i+1WendText2.Text=Test-13-Visua l Ba sic迤制本事换器11(十一)二迤制傅二迤制结果以二迤制W八迤制的方式Elself Combol,Text=二迤制 And Combo2.Text=ABSfl ThenBina ry=Textl.TextWhile i=2 ThenMsgBox 每他|数字不能大於等於2,,”二迤制金昔魄判断数字是否小於2Dina ry=0i=i+100End Ifi=i+1Wend先揩二迤制傅换成十迤制,再醇换成八迤制For 1=1 To 100cha(i)=Dina ry Mod 8Dina ry=Dina ry 8Octa l=Octa l+cha(i)*10 A(i-1)Next iText2.Text=Octa l-14-Visua l Ba sic迤制本事换器11(十二)二迤制樽八迤制结果以二迤制穗十六迤制的方式Elself Combol,Text=二迤制 And Combo2.Text=十六迤制 ThenBina ry=Textl.TextWhile i=2 ThenMsgBox 每他|数字不能大於等於2,,”二迤制金昔魄Dina ry 二 0i=i+100End Ifi=i+1Wendll换成十迤制接,再醇换篇十六迤制Fori=lTo 100cha(i)=Dina ry Mod 16Dina ry=Dina ry 16Select Ca se cha(i)Ca se Is=10:cha(i)=ACa se Is=ll:cha(i)=BCa se Is=12:cha(i)=CCa se Is=13:cha(i)=DCa se Is=14:cha(i)=ECa se Is=15:cha(i)=F-15-Visua l Ba sic迤制本事换器End SelectHex=cha(i)+HexNext iWhile Left(Hex,1)=0Hex=Mid(Hex,2,Len(Hex)-1)WendText2.Text=HexH(十三)二迤制樽十六迤制结果以八迤制W十迤制的方式ElselfCombol,Text=八迤制 And Combo2.Text=十迤制ThenOcta l=Textl.TextWhile i=8 ThenMsgBox”每彳固数字不能大於等於8,,“八迤制金昔魄,-16-Visua l Ba sic迤制本事换器11(十四)八迤制金昔八迤制没有8以上的数字,所以造成金昔官臭Dina ry=0i=i+100End Ifi=i+1WendText2,Text=Dina ry11(十五)八迤制傅十迤制结果-17-Visua l Ba sic迤制本事换器以八迤制二迤制的方式Elself Combol.Text=八迤制 And Combo2.Text=二迤制ThenOcta l=Textl.TextWhile i=8 ThenMsgBox”每他|数字不能大於等於8”,,“八迤制金髭到判数字是否小於8Dina ry 二 0i=i+100End Ifi=i+1Wend先招八迤制穗换成十谨制,再傅换成二迤制For i=1 To 100cha(i)=Dina iy Mod 2Dina ry=Dina ry 2Bina ry=Bina ry+cha(i)*10 A(i-1)Next iText2.Text=Bina ry11(十六)八迤制傅二迤制结果-18-Visua l Ba sic迤制本事换器以八迤制八迤制的方式ElselfCombol.Text=八迤制 And Combo2.Text=八迤制ThenOcta l=Textl.TextWhile i=8 ThenMsgBox”每他I数字不能大於等於8”,,“八迤制图昔判if数字是否小於8Test 二 0i=i+100End Ifi=i+1WendText2.Text=Test11(十七)八迤制樽八迤制结果以八迤制十六迤制的方式Elself Combo 1.Text=八迤制And Combo2.Text=十六迤制ThenOcta l=Textl.TextWhile i 100cha(i)=Octa l Mod 10Octa l=Octa l 10Dina ry=Dina ry+cha(i)*8 A(i-1)If cha(i)=8 ThenMsgBox 每偃|数字不能大於等於8,,“八迤制金昔-19-Visua l Ba sic迤制本事换器Dina ry 二 0i=i+100End Ifi=i+1Wendll换成十迤制接,再If换焉十六迤制Fori=lTo 100cha=Dina iy Mod 16Dina ry=Dina ry 16Select Ca se cha(i)Ca se Is=10:cha(i)=ACa se Is=ll:cha(i)=BCa se Is=12:cha(i)=CCa se Is=13:cha(i)=DCa se Is=14:cha(i)=ECa se Is=15:cha(i)=FEnd SelectHex=cha(i)+HexNext iWhile Left(Hex,1)=0Hex=Mid(Hex,2,Len(Hex)-1)揩 Hex 左遏的 0 全部消掉WendText2.Text=HexBl(十八)八迤制傅十六迤制结果-20-Visua l Ba sic迤制本事换器以十六迤制W十迤制的方式Elself Combol.Text=十六迤制And Combo2.Text=十迤制ThenHex=Textl.TextFor i=1 To Len(Hex)cha=Mid(Hex,i,1)If IsNumeric(cha(i)二Fa lse Then,cha不等於数字日寺可畿勤作Select Ca se cha(i)Ca se Is=A:cha(i)=10Ca se Is=B:cha(i)=llCa se Is=C:cha(i)二 12Ca se Is=D:cha(i)=13Ca se Is=E:cha(i)=14Ca se Is=F:cha(i)二 15Ca se ElseMsgBox”有数字和ABCDEF以外的字母或符嬲十六迤制金器臾U(十九)十六迤制金昔后吴GoToEndsEnd SelectEnd IfDina iy=cha(i)*6 A(Len(Hex)-i)+Dina iyNext iText2.Text=Dina ry-21-Visua l Ba sic迤制本事换器*VB港制群换器目回国I十六迤制二j FFSSF W|ia 穗操 11 堂清除|蜩|BK-+)十六迤制醇十迤制结果以十六迤制傅二迤制的方式ElselfCombol,Text=十六迤制 And Combo2.Text=二谨制 ThenHex=Textl.TextFor i=1 To Len(Hex)cha(i)=Mid(Hex,i,1)If IsNumeric(cha(i)二Fa lse Then W cha不等於数字日寺可畿勤作Select Ca se cha(i)Ca se Is=A:cha(i)二 10Ca se Is=B:cha(i)=llCa se Is=C:cha(i)=12Ca se Is=D:cha(i)二 13Ca se Is=E:cha(i)=14Ca se Is=F:cha(i)二 15Ca se ElseMsgBox”有数字和ABCDEF以外的字母或符瞅,,”十六迤制金髭臾GoTo EndsEnd SelectEnd IfDina iy=cha(i)*6 A(Len(Hex)-i)+Dina iyNext i醇成十迤制彳爰,在醇换焉二迤制For 1=1 To 100cha(i)=Dina ry Mod 2Dina ry=Dina ry 2Bina iy=Bina iy+cha(i)*10 A(i-1)-22-Visua l Ba sic迤制本事换器Next iText2.Text=Bina ryH(二十一)十六迤制傅二迤制结果以十六迤制W八迤制的方式Elself Combol.Text=十六迤制And Combo2.Text=八迤制ThenHex=Textl.TextFor i=1 To Len(Hex)cha=Mid(Hex,i,1)If IsNumeric(cha(i)二Fa lse Then,cha(i)不等於数字日寺可畿勤作 Select Ca se cha(i)Ca se Is=A:cha(i)=10Ca se Is=B:cha(i)=11Ca se Is=C:cha(i)二 12Ca se Is=D:cha(i)=13Ca se Is=E:cha(i)=14Ca se Is=F:cha(i)二 15Ca se ElseMsgBox”有数字和ABCDEF以外的字母或符嬲十六迤制金昔 GoToEndsEnd SelectEnd IfDina iy=cha(i)*16 A(Len(Hex)-i)+Dina iyNext i傅成十迤制彳爰,在傅换禹八迤制For 1=1 To 100cha(i)=Dina ry Mod 8-23-Visua l Ba sic迤制本事换器Dina ry=Dina ry 8Octa l=Octa l+cha(i)*10 A(i-1)Next iText2.Text=Octa lH(二十二)十六迤制樽八迤制结果以十六迤制W十六迤制的方式Elself Combol,Text=十六迤制 And Combo2.Text=十六迤制ThenHex=Textl.TextFor i=1 To Len(Hex)cha=Mid(Hex,i,1)If IsNumeric(cha(i)=Fa lse Then 富cha(i)不等於数字日寺可畿勤作 Select Ca se cha(i)Ca se Is=A:cha(i)=10Ca se Is=B:cha(i)=11Ca se Is=C:cha(i)二 12Ca se Is=D:cha(i)=13Ca se Is=E:cha二 14Ca se Is=F:cha(i)=15Ca se ElseMsgBox”有数字和ABCDEF以外的字母或符嬲十六迤制金昔 GoToEndsEnd SelectEnd IfNext iText2.Text 二 Hex-24-Visua l Ba sic迤制本事换器U(二十三)十六迤制傅十六迤制结果ElseMsgBox”未逗撵迤制”,,瓢法傅换End If未逗择迤制H寺,彝生金昔U(二十四)未逗撵迤制畤彝生金昔Ends:Textl.SetFocusEnd Sub用来结束程式的檄籁专事换完彳爰,1襄滑鼠指檄停在输入值上-25-Priva te Sub CmdClea r_Click()Textl.Text=Text2.Text=Textl.SetFocusEnd SubPriva te Sub CmdEnd_Click()EndEnd SubVisua l Ba sic迤制本事换器按下清除曰寺输入值焉空白输出值也焉空白加且I襄滑鼠指木票停在输入值上按下雕日寺直接结束程式由余氏上算的遇程利用Visua l Ba sic作出我优号所需要的醇换,在Visua l Ba sic狸用 到了僚件子句If-Elself和Select-Ca se刖槿判僚件式,重For-Next、While-Wend和Do-Loop的前接测式三槿迪圈,而在此我fH是用For-Next和 While-Wend刖槿迪圈,完成Visua l Ba sic程式礁接,符系氏上算的1W直带入Visua l Ba sic结果是否符合,结果是完全符合。由“Visua l Ba sic迤制蝴英器”可方便的tF算我优所需要的迤制,造成省多 的算日寺,也不曾出现任何金昔官吴,而不是以人工鼠十算的方式浪费FF多畤,且 我年号彝琨可以符Visua l Ba sic和迤制系吉合,加使得我作号能更了解Visua l Ba sic的相用,希望以彼遢有械曾在Visua l Ba sic道方面的研究舆言殳看十。-26-
展开阅读全文