Dim i As Integer Dim a As Integer Dim b As String a = InputBox(\"a\") Do
i = a Mod 2 a = a \\ 2 b = i & b Loop While a > 0 Print b End Sub
Private Sub Command2_Click() '十到十六
Dim i As Integer Dim a As Integer Dim b As String a = InputBox(\"a\") Do
i = a Mod 16 a = a \\ 16
If i >= 10 Then
b = Chr(55 + i) & b Else
b = i & b End If
Loop While a > 0 b = \"&H\" & b Print b
End Sub
Function ch16to2(a As String) As String Dim t As Integer, b As String If a > \"9\" Then t = Asc(a) - 55 Else
t = Asc(a) - 48 End If Do
i = t Mod 2
t = t \\ 2 b = i & b Loop While t > 0
If Len(b) = 2 Then b = \"00\" & b If Len(b) = 3 Then b = \"0\" & b ch16to2 = b End Function
Private Sub Command3_Click() '十六到二
Dim a As String Dim b As String Dim i As Integer
a = InputBox(\"十六进制数\") a = UCase(a)
For i = 1 To Len(a)
If Not ((Mid(a, i, 1) >= \"0\" And Mid(a, i, 1) <= \"9\") Or (Mid(a, i, 1) >= \"A\" And Mid(a, i, 1) <= \"F\")) Then MsgBox \"数据错\" Exit Sub End If Next i
For i = 1 To Len(a)
t = ch16to2(Mid(a, i, 1)) b = b & t Next i Print b End Sub
Private Sub Command4_Click() '十六到十
Dim a As String Dim b As Integer Dim i As Integer Dim t As Integer
a = InputBox(\"十六进制数\") a = UCase(a)
For i = 1 To Len(a)
If Not ((Mid(a, i, 1) >= \"0\" And Mid(a, i, 1) <= \"9\") Or (Mid(a, i, 1) >= \"A\" And Mid(a, i, 1) <= \"F\")) Then MsgBox \"数据错\"
Exit Sub End If Next i b = 0
For i = 1 To Len(a)
If Mid(a, i, 1) > \"9\" Then t = Asc(Mid(a, i, 1)) - 55 Else
t = Asc(Mid(a, i, 1)) - 48 End If
b = b * 16 + t Next i Print b End Sub
Private Sub Command5_Click() '二到十
Dim a As String Dim b As Integer Dim i As Integer Dim t As Integer
a = InputBox(\"二进制数\") For i = 1 To Len(a)
If Not ((Mid(a, i, 1) >= \"0\") Or (Mid(a, i, 1) >= \"1\")) Then MsgBox \"数据错\" Exit Sub End If Next i b = 0
For i = 1 To Len(a)
t = Asc(Mid(a, i, 1)) - 48 b = b * 2 + t Next i Print b
End Sub
因篇幅问题不能全部显示,请点此查看更多更全内容