自己算吧
例子Private Sub Command1_Click()
Dim a, b As Long
Dim c As String
a = Text1.Text
Do
   If a = 0 Then Exit Do
   If a > 1 Then
      b = a Mod 2
   Else
      b = a
   End If
   c = CStr(b) & CStr(c)
   a = a \ 2
Loop
Text2.Text = c
End Sub

解决方案 »

  1.   

    哎~各种数据明明都是以二进制方式存放读取的。可VB为什么要这么职能呢?自动把二进制度转换为十进制~baty类型变量无论怎么读取,比如有两个BATY类型变量b(1)和b(2)值都为2,但如下面方法:debug.pring b(1) & b(2),想它出来的要是二进制数:1010要是多好啊,可出来的是:22。。
    看来还得自行编写二进制与十进制间互转的涵数。。谢谢楼上的朋友提供了十进度转二进制的涵数。希望还能提供二进制转十进制的涵数好吗?拜托了!谢谢了!!
      

  2.   

    呵呵,我以前写的,支持小数:Private Sub Command1_Click()
    MsgBox TODEC(2, "1000100101.1101")
    End Sub
    Function TODEC(ByVal n As Integer, ByVal x As String) As Double '  转换N(2,8,16)进制的 X 为 10 进制的 TODEC
    x = UCase(x)
    Dim it As String, ALLOWS As String
    it = Switch(n = 2, "BINARY", n = 8, "OCTAL", n = 16, "HEXADECIMAL")
    ALLOWS = Switch(n = 2, "01.", n = 8, "01234567.", n = 16, "0123456789ABCDEF.")
    For i = 1 To Len(x)
    If Not InStr(1, ALLOWS, Mid(x, i, 1)) > 0 Then MsgBox "NOT A " & it & " FORMAT!", 64, "ERROR!": Exit Function
    Next
    y = 0
    Dim a
    If InStr(1, x, ".") > 0 Then
    a = Split(x, ".")
    For i = 1 To Len(a(0))
    y = y + CLng("&H" & Mid(a(0), i, 1)) * n ^ CLng("&H" & (Len(a(0)) - i))
    Next
    For i = 1 To Len(a(1))
    y = y + CLng("&H" & Mid(a(1), i, 1)) / n ^ i
    Next
    Else
    a = x
    For i = 1 To Len(a)
    y = y + CLng("&H" & Mid(a, i, 1)) * n ^ CLng("&H" & (Len(a) - i))
    Next
    End If
    TODEC = y
    End Function
      

  3.   

    Private Sub Command1_Click()
    '十进制转二进制
    Dim a, b As Long
    Dim c As String
    a = Text1.Text
    Do
       If a = 0 Then Exit Do
       If a > 1 Then
          b = a Mod 2
       Else
          b = a
       End If
       c = CStr(b) & CStr(c)
       a = a \ 2
    Loop
    Text2.Text = c
    End SubPrivate Sub Command2_Click()
    '二进制转十进制
    Dim a, b As String
    Dim i, c, d As Long
    a = Text2.TextFor i = 1 To Len(a)
        c = CLng(Mid(a, i, 1))
        If c = 1 Then
           d = d + 2 ^ (Len(a) - i)
        End If
    Next
    Text3.Text = d
    End Sub