vb里只有10,16,8进制吧
看来要转换成二进制,只有靠自己的代码了
我帮你Up一下,hehe~我也须要这段代码.

解决方案 »

  1.   


    '    Purpose:
    '     Author:吴文智
    '       Date:2001-1
    'Description:要试用本例请在窗体中填加一个文本框和一个按钮
    '            然后在代码窗体中粘贴如下代码
    '            Good luck!
    Private Function GetB(ByVal HexChar As String) As String
        Select Case HexChar
        Case "0"
            GetB = "0000"
        Case "1"
            GetB = "0001"
        Case "2"
            GetB = "0010"
        Case "3"
            GetB = "0011"
        Case "4"
            GetB = "0100"
        Case "5"
            GetB = "0101"
        Case "6"
            GetB = "0110"
        Case "7"
            GetB = "0111"
        Case "8"
            GetB = "1000"
        Case "9"
            GetB = "1001"
        Case "A"
            GetB = "1010"
        Case "B"
            GetB = "1011"
        Case "C"
            GetB = "1100"
        Case "D"
            GetB = "1101"
        Case "E"
            GetB = "1110"
        Case "F"
            GetB = "1111"
        Case Else
            GetB = ""
        End Select
    End FunctionPrivate Sub Command1_Click()
        Dim strHex As String
        Dim lngI As Long
        Dim strResult As String
        
        If IsNumeric(Text1.Text) Then
            strHex = Hex(Text1.Text)
            For lngI = 1 To Len(strHex)
                strResult = strResult & GetB(Mid(strHex, lngI, 1))
            Next
            MsgBox Text1.Text & "二进制值为" & strResult
        Else
            MsgBox "请输入数值", vbInformation
        End If
    End Sub
      

  2.   

    我想问一下foolishtiger(吴文智)老兄
    如果通过位运算怎么实现?
      

  3.   

    sorry,问题没问清楚.
    既是说,在转换成二进制后,对该二进制数据进行了位运算
    如何能将该二进制数据再转换为十进制或十六进制?
      

  4.   

    进行数学运算是比较麻烦的,通过取mod和取余数得到.
    去看看有关进制的书吧.
      

  5.   

    可否提供一段2 to 16的代码,foolishtiger老兄?
    先谢过了
      

  6.   

    天!写这么多!!这是我以前回答的.
        Dim sString As String
        Dim sBinary As String
        Dim iValue As Integer    iValue = Asc(sString)
        Do While iValue > 0
            sBinary = CStr(iValue Mod 2) & sBinary
            iValue = iValue \ 2
        Loop
    其中sBinary为所求的二进制字符串
      

  7.   

    补充一下:上面是将字符转换成二进制的代码。
    十进制的数也是一样。
        Dim sBinary As String
        Dim iValue As Integer
        Do While iValue > 0
            sBinary = CStr(iValue Mod 2) & sBinary
            iValue = iValue \ 2
        LoopiValue就是十进制的数,sBinary就是二进制的字符串。
      

  8.   

    呵呵,我又来了。
        二进制转换成十进制:
        Const strBinary = "1000101010"
        
        Dim j As Integer
        Dim lngValue As Long
        
        For j = Len(strBinary) To 1 Step -1
            lngValue = lngValue + Val(Mid(strBinary, j, 1)) * 2 ^ (j - 1)
        Next
        MsgBox lngValue
        转换成十六进制:
        线转换成十进制,再用Hex()函数。
        OK?:)
      

  9.   

    :O,呵呵,对不起,有个地方搞反了
        For j = 1 To Len(strBinary)
            lngValue = lngValue + Val(Mid(strBinary, j, 1)) * 2 ^ (Len(strBinary) - j)
        Next