您的当前位置:首页正文

数值转换

来源:爱站旅游
导读数值转换
Private Sub Command1_Click() '十到二

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Top