使用除餘法把十進制轉換成二進制
Public Function DecToBin(ByVal InputString As String) As String
Dim MyResult As String
Dim MyMod As Integer
Try
Dim MyData As Integer = CInt(InputString)
Do While MyData
MyMod = MyData Mod 2
MyData = MyData \ 2
MyResult = Trim(CStr(MyMod)) & MyResult
Loop
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
Return MyResult
End Function
'使用冪乘法將二進制轉換成十進制
Public Function BinToDec(ByVal InputString As String) As String
Dim MyLength, i, MyResult As Long
MyLength = InputString.Length
Try
For i = 0 To MyLength - 1
MyResult = MyResult + Val(Mid(InputString, i + 1, 1)) * (2 ^ (MyLength - i - 1))
Next
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
Return CStr(MyResult)
End Function
'使用標準數字格式字符串進行十進制轉換成十六進制
Public Function DecToHex(ByVal InputString As String) As String
Try
Dim MyData As Long = CInt(InputString)
Dim MyResult As String = MyData.ToString("X")
Return MyResult
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
End Function
'使用冪乘法將十六進制轉換成十進制
Public Function HexToDec(ByVal InputString As String) As String
Dim MyChar As String
Dim MyLength, i, MyResult As Long
Try
MyLength = InputString.Length
For i = 0 To MyLength - 1
MyChar = Mid(InputString, i + 1, 1)
Select Case MyChar
Case 0 : MyChar = 0
Case 1 : MyChar = 1
Case 2 : MyChar = 2
Case 3 : MyChar = 3
Case 4 : MyChar = 4
Case 5 : MyChar = 5
Case 6 : MyChar = 6
Case 7 : MyChar = 7
Case 8 : MyChar = 8
Case 9 : MyChar = 9
Case "A" : MyChar = 10
Case "B" : MyChar = 11
Case "C" : MyChar = 12
Case "D" : MyChar = 13
Case "E" : MyChar = 14
Case "F" : MyChar = 15
End Select
'從字符串中獲取十進制的真實值
MyResult += Val(MyChar) * (16 ^ (MyLength - i - 1))
Next
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
Return CStr(MyResult)
End Function
'使用除餘法把十進制轉換成其他進制
Public Function DecToOther(ByVal InputString As String, ByVal Other As String) As String
Dim MyResult As String
Dim MyMod As Integer
Dim n As Integer = CInt(Other)
Try
Dim MyData As Integer = CInt(InputString)
Do While MyData
MyMod = MyData Mod n
MyData = MyData \ n
MyResult = Trim(CStr(MyMod)) & MyResult
Loop
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
Return MyResult
End Function
'使用冪乘法將其他進制轉換成十進制
Public Function OtherToDec(ByVal InputString As String, ByVal Other As String) As String
Dim MyResult, i As Integer
Try
Dim MyLength As Integer = InputString.Length
Dim n As Integer = CInt(Other)
For i = 0 To MyLength - 1
MyResult += Val(Mid(InputString, i + 1, 1)) * (n ^ (MyLength - i - 1))
Next
Catch ex As Exception
MsgBox("轉換數據出現錯誤,最大可能是數據輸入不符合規範")
End Try
Return CStr(MyResult)
End Function
【MATLAB】數之間的轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.