form1.frm
来自「VB二进制十 六进制之间转换的小程序」· FRM 代码 · 共 572 行 · 第 1/2 页
FRM
572 行
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 + =
减小字号Ctrl + -
显示快捷键?