指定进制转换问题,急!!!
有这样一个问题,0到9,A到Z,加上-,空格,S,%,
一共39个
例子,用40进制表示 ABC
10*40*40+11*40+12=16542
现在是10位40进制的数,比如12345ABCDE,怎么转化成2进制数,多谢!
[解决办法]
超大数据运算,再转换……http://www.programfan.com/club/showtxt.asp?id=192389
[解决办法]
Option ExplicitConst R40_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ- $%"Sub Main() Debug.Print R40ToR10("ABC") Debug.Print R40ToR10("12345ABCDE")End SubFunction R40ToR10(ByVal R40 As String) As Variant Dim vR10 As Variant Dim i As Long Dim ch As String Dim l As Long vR10 = CDec(0) For i = 1 To Len(R40) ch = Mid$(R40, i, 1) l = InStr(1, R40_CHARS, ch) - 1 vR10 = vR10 * 40 + l Next R40ToR10 = vR10End Function
[解决办法]
看我的博客文章,有2-36进制的,不知道能否改成你的40进制
http://blog.csdn.net/worldy/article/details/7423111