怎么装一个士进制的数转为二进制数呀,
然后再装这个二进制数转为十进制数,怎样转呀??谢谢

解决方案 »

  1.   

    Private Function getbinary(number As Integer) As String
    Dim binstr As String
    binstr = ""
    number = number + 1
    For x = 7 To 0 Step -1
    If number > 2 ^ x Then
    number = number - 2 ^ x
    binstr = binstr & "1"
    Else
    binstr = binstr & "0"
    End If
    Next
    getbinary = binstrEnd FunctionPrivate Function bintodec(binstr As String) As Integer
    Dim number As Integer
    For x = 0 To 7
    If Mid(binstr, x + 1, 1) = "1" Then
    number = number + 2 ^ (7 - x)
    End If
    Next
    bintodec = number
    End Function
    Private Sub Form_Load()
    Text1.Text = getbinary(80)
    Text2.Text = bintodec(Text1.Text)
    End Sub
      

  2.   

    你说的“二进制数”是机器内存保存的数据还是 2 进制字符串?如果是前者,不需要转换。如果是后者:
    private function dec2bin(byval x as long) as string
    dim strtmp as string
    dim strbin as string
    dim i as integerstrtmp = hex(x)
    for i=1 to len(strtmp)
         strbin = strbin & choose(val("&H" & mid(strtmp,i,1))+1, _
                                  "0000","0001","0010","0011", _
                                  "0100","0101","0110","0111", _
                                  "1000","1001","1010","1011", _
                                  "1100","1101","1110","1111")
    next i
    dec2bin = strbin
    end functionprivate function bin2dec(byval x as string) as long
    dim tmp as long
    dim i as integer
    dim n as integerif x like "*[!0-1]*" then exit function
    n = len(x)>
    if n>32 then exit functionfor i = 1 to n
        tmp = tmp + 2 ^ (n - i) * val(mid(x, i, 1))
    next i
    bin2dec = tmp
    end function
      

  3.   

    我写的一个2-36进制之间任意进制的转换函数
    http://blog.csdn.net/penguinMII/archive/2005/03/18/323038.aspx