有这样一个问题,0到9,A到Z,加上-,空格,S,%,
一共39个例子,用40进制表示 ABC
      10*40*40+11*40+12=16542
现在是10位40进制的数,比如12345ABCDE,怎么转化成2进制数,多谢!

解决方案 »

  1.   

    呵呵,我没学过vb,有个问题遇上了,需要解决,40进制是自己定的,上面说的A 对应10,%对应39,想把一个这样的10位40进制数转成2进制
      

  2.   

    超大数据运算,再转换……http://www.programfan.com/club/showtxt.asp?id=192389
      

  3.   

    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 = vR10
    End Function
      

  4.   

    看我的博客文章,有2-36进制的,不知道能否改成你的40进制
    http://blog.csdn.net/worldy/article/details/7423111