一个八进制和十六进制转二进制的奇妙方法
近来没事,翻看网上关于进制转换的文章,发现八进制与十六进制转二进制的方法都很麻烦,因此写个简单一点的方法,原理都一样,只是想法叫奇妙,感觉还比较好,抛出来供大家参考。
Public Function OctToBin(ByVal sOct As String) As String
Const s1 = "0001011100", s2 = "01253764"
Dim i As Integer, sBin As String
For i = 1 To Len(sOct)
sBin = sBin & Mid(s1, InStr(1, s2, Mid(sOct, i, 1)), 3)
Next i
OctToBin = sBin
End Function
Public Function HexToBin(ByVal sHex As String) As String
Const s1 = "0000101001101111000", s2 = "0125A4936DB7FEC8"
Dim i As Integer, sBin As String
sHex = UCase(sHex)
For i = 1 To Len(sHex)
sBin = sBin & Mid(s1, InStr(1, s2, Mid(sHex, i, 1)), 4)
Next i
HexToBin = sBin
End Function