⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 VB二进制十 六进制之间转换的小程序
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Dim i As Integer
Dim j As Integer
Dim m As Integer
Dim x As Long
Dim y As String
Dim z As String
Dim W As String



i = Int(Len(TenToTwo(ten)) / 4)
j = Len(TenToTwo(ten)) Mod 4

z = ""
For m = 1 To i
    x = Mid(TenToTwo(ten), Len(TenToTwo(ten)) - (m * 4) + 1, 4)
    y = TwoToTen(x)
    
    Select Case y
           Case 10
                y = "A"
           Case 11
                y = "B"
           Case 12
                y = "C"
           Case 13
                y = "D"
           Case 14
                y = "E"
           Case 15
                y = "F"
    End Select
    z = y & z

Next m



If j = 0 Then
   TenToSixteen = z
Else
   W = TwoToTen(Mid(TenToTwo(ten), 1, j))
   TenToSixteen = W & z
End If


End Function


Public Function TenToTwo(ten As Long) As String     '十进制转二进制

m(0) = 0
m(1) = 0
m(2) = 0
m(3) = 0
m(4) = 0
m(5) = 0
m(6) = 0
m(7) = 0
m(8) = 0
m(9) = 0
m(10) = 0
m(11) = 0
m(12) = 0


i(0) = 0
i(1) = 0
i(2) = 0
i(3) = 0
i(4) = 0
i(5) = 0
i(6) = 0
i(7) = 0
i(8) = 0
i(9) = 0
i(10) = 0

i(11) = 0
i(12) = 0



Do While 2 ^ (i(0) + 1) <= ten
   i(0) = i(0) + 1
Loop
m(0) = ten - 2 ^ i(0)

If m(0) = 0 Then
   TenToTwo = 10 ^ i(0)
Else

   Do While 2 ^ (i(1) + 1) <= m(0)
      i(1) = i(1) + 1
   Loop
   m(1) = m(0) - 2 ^ (i(1))
'*****************************
   
   If m(1) = 0 Then
      TenToTwo = 10 ^ i(0) + 10 ^ i(1)
   Else
      Do While 2 ^ (i(2) + 1) <= m(1)
         i(2) = i(2) + 1
      Loop
      m(2) = m(1) - 2 ^ (i(2))
'*****************************
      If m(2) = 0 Then
         TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2)
         
      Else
         Do While 2 ^ (i(3) + 1) <= m(2)
            i(3) = i(3) + 1
         Loop
         m(3) = m(2) - 2 ^ (i(3))
'*****************************
         
         If m(3) = 0 Then
            TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3)
         Else
         
            Do While 2 ^ (i(4) + 1) <= m(3)
               i(4) = i(4) + 1
            Loop
            m(4) = m(3) - 2 ^ (i(4))
            
'*****************************
            
            If m(4) = 0 Then
               
                TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4)
                
            Else
                Do While 2 ^ (i(5) + 1) <= m(4)
                   i(5) = i(5) + 1
                Loop
                m(5) = m(4) - 2 ^ (i(5))
'*****************************
                
                If m(5) = 0 Then
                
                   TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5)
                Else
                   Do While 2 ^ (i(6) + 1) <= m(5)
                            i(6) = i(6) + 1
                   Loop
                   m(6) = m(5) - 2 ^ (i(6))
'*****************************
                   If m(6) = 0 Then
                
                      TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6)
                   Else
                      Do While 2 ^ (i(7) + 1) <= m(6)
                            i(7) = i(7) + 1
                      Loop
                      m(7) = m(6) - 2 ^ (i(7))
                      
                      
'*****************************
                      
                      If m(7) = 0 Then
                         TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7)
                      Else
                          Do While 2 ^ (i(8) + 1) <= m(7)
                                   i(8) = i(8) + 1
                          Loop
                           m(8) = m(7) - 2 ^ (i(8))
                           
'*****************************
                           
                           
                          If m(8) = 0 Then
                             TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7) + 10 ^ i(8)
                          Else
                              Do While 2 ^ (i(9) + 1) <= m(8)
                                       i(9) = i(9) + 1
                              Loop
                              m(9) = m(8) - 2 ^ (i(9))
'*****************************
                              
                              
                              
                              If m(9) = 0 Then
                                 TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7) + 10 ^ i(8) + 10 ^ i(9)
                              
                              Else
                                  Do While 2 ^ (i(10) + 1) <= m(9)
                                       i(10) = i(10) + 1
                                  Loop
                                 m(10) = m(9) - 2 ^ (i(10))
                                 
'*****************************
                                 
                                 
                                 If m(10) = 0 Then
                                   TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7) + 10 ^ i(8) + 10 ^ i(9) + 10 ^ i(10)
                                 
                                 Else
                                    Do While 2 ^ (i(11) + 1) <= m(10)
                                            i(11) = i(11) + 1
                                    Loop
                                     m(11) = m(10) - 2 ^ (i(11))
                                     
 '*****************************
                                    
                                     
                                     If m(11) = 0 Then
                                        TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7) + 10 ^ i(8) + 10 ^ i(9) + 10 ^ i(10) + 10 ^ i(11)
                                     Else
                                     
                                        Do While 2 ^ (i(12) + 1) <= m(10)
                                            i(12) = i(12) + 1
                                        Loop
                                        m(12) = m(11) - 2 ^ (i(12))
 '*****************************
                                        If m(12) = 0 Then
                                           TenToTwo = 10 ^ i(0) + 10 ^ i(1) + 10 ^ i(2) + 10 ^ i(3) + 10 ^ i(4) + 10 ^ i(5) + 10 ^ i(6) + 10 ^ i(7) + 10 ^ i(8) + 10 ^ i(9) + 10 ^ i(10) + 10 ^ i(11) + 10 ^ i(12)
                                        End If
                                      
                                     End If
                                     
                                     
                                 End If
                                
                              End If
                              
                          End If
                          
                      End If
                      
                   End If

                End If
                
            End If
            
         End If
         
      End If
      
   End If
   
End If


End Function

Private Sub Command2_Click()
Text2.Text = TenToTwo(Val(Text1.Text))
Text5.Text = TenToEighteen(Val(Text1.Text))
Text6.Text = TenToSixteen(Val(Text1.Text))

End Sub





Public Function TwoToTen(ten) As Long     '二进制转十进制

Dim a As Integer
Dim N As Integer
Static W As Long
    W = 0
    a = Len(ten)
    
    For N = 1 To a
        W = W + (Mid(ten, N, 1) * 2 ^ (a - N))
    Next N

TwoToTen = W
End Function






Private Sub Command3_Click()
End
End Sub

Private Sub ListView1_Click()
Text1.Text = ListView1.SelectedItem.Text
Call Command2_Click
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -