两位数乘法运算——进制的编程

来源:互联网 发布:光纤测试仪福禄克网络 编辑:程序博客网 时间:2024/05/17 02:27

Option Base 1

Private Sub Command1_Click()


    Dim M As String
    Dim N As String
 
    M = Trim(Text1.Text)
    N = Trim(Text2.Text)
 
    Dim Number1() As Byte
    Dim Number2() As Byte
 
    ReDim Number1(Len(M))
    ReDim Number2(Len(N))
 
    Dim index As Byte
 
    For index = 1 To Len(M) Step 1
        Number1(index) = Mid(M, index, 1)
    Next index
       
    For index = 1 To Len(N) Step 1
        Number2(index) = Mid(N, index, 1)
    Next index
     
  Dim Result() As Byte
  ReDim Result(Len(M) + Len(N))
 
  Dim MCarry As Byte
  Dim ACarry As Byte
  Dim Remainder As Integer
 
  Dim i As Integer, j As Integer
  Dim Mtemp As Integer, Atemp As Integer
 
  For i = Len(N) To 1 Step -1
    For j = Len(M) To 1 Step -1
        Mtemp = Number1(j) * Number2(i) + MCarry
        MCarry = Mtemp \ 10
        Remainder = Mtemp Mod 10
        Atemp = Remainder + Result(i + j) + ACarry
        ACarry = Atemp \ 10
        Result(i + j) = Atemp Mod 10
    Next j
    Result(i) = MCarry + ACarry
    MCarry = 0
    ACarry = 0
  Next i
 
  Dim Mstr  As String
 
  For index = 1 To Len(N) + Len(M)
    Mstr = Mstr & Str(Result(index))
  Next
 
  Label3.Caption = Mstr
 
End Sub

这是第三次进行乘法编程了,每次的难度都在增加。第一次是一句,很容易就完成了,第二次费了不少事才勉强弄好。而这次难度更加得大。我深刻体会到学习VB的过程中自己思考的重要性,主要是自己掌握方法,懂得怎么去进行语言的汇编,每句话,每个符号都是一个值得思考的问题。

原创粉丝点击