高分求解:如何把任意二制制数转成一个两位十六进制数如小于15的用 0F表示,而大于的则用两位表示,如100则表示为64

解决方案 »

  1.   

    这也太简单了吧。
    四位四位一取,然后对应化成0..F即可。
    如11101111
    应化成:1110为E
            1111为F
    所以十六进制数为:EF
      

  2.   

    up一下
    做个select case就OK啦
      

  3.   

    left("00",2-len(hex(100))) & hex(100)="64"
    left("00",2-len(hex(15))) & hex(15)="0F"
      

  4.   

    几个SELECT CASE、一个HEX()函数就搞定。
      

  5.   

    Function Bintohex(X As String) As String
    Dim temp As Long
    temp = 0
    For i = 1 To Len(X)
    temp = temp + Val(Mid(X, i, 1)) * 2 ^ (Len(X) - i)
    Next
    Bintohex = IIf(temp < 16, "0" & Hex(temp), IIf(temp > 255, "FF", Hex(temp)))
    End Function