主题:紧急求助
lzl0609
[专家分:0] 发布于 2008-06-06 14:30:00
马上要验收毕设了,程序出了问题。请哪位高手告知小妹一下:VB中怎么将十六进制数转换为二进制数的?急用,非常感谢!!
回复列表 (共5个回复)
沙发
天天学习 [专家分:4570] 发布于 2008-06-06 15:47:00
每一位十六进制数字对应四位二进制数字。
真不相信你作为一个计算机相关专业的“毕业生”连这个都不知道?!
板凳
pariszh [专家分:740] 发布于 2008-06-06 15:58:00
给你一个苯方法
Private Function CL(S As String) As String
Select Case S
Case 0
CL = "0000"
Case 1
CL = "0001"
Case 2
CL = "0010"
Case 3
CL = "0011"
Case 4
CL = "0100"
Case 5
CL = "0101"
Case 6
CL = "0110"
Case 7
CL = "0111"
Case 8
CL = "1000"
Case 9
CL = "1001"
Case "A"
CL = "1010"
Case "B"
CL = "1011"
Case "C"
CL = "1100"
Case "D"
CL = "1101"
Case "E"
CL = "1110"
Case "F"
CL = "1111"
Case Else
CL = ""
End Select
End Function
Private Sub Command1_Click()
Dim a As String, S As String, i As Integer
a = "&H800A0B0F"
For i = 1 To Len(a)
S = S & " " & CL(Mid(a, i, 1))
Next i
S = Trim(S)
MsgBox S
End Sub
3 楼
okbaby [专家分:100] 发布于 2008-06-06 16:16:00
我也来一个:
'注意,v只能是数值,对字符串和其它无效
Privte Function MyFormat(v as variant) as String
Dim l As Integer,s As String,i As Integer,b() As Byte
l=Len(v)
Redim b(0 to l-1) As Byte
b=v: s=""
For i=0 To l-1
s=s*CStr(b(i))
Next i
MyFormat=s
End Function
[color=FF0000]呵呵,乱写的,我这个不好使,VB不支持位操作。[/color]
4 楼
tanchuhan [专家分:15140] 发布于 2008-06-06 17:35:00
[quote]我也来一个:
'注意,v只能是数值,对字符串和其它无效
Privte Function MyFormat(v as variant) as String
Dim l As Integer,s As String,i As Integer,b() As Byte
l=Len(v)
Redim b(0 to l-1) As Byte
b=v: s=""
For i=0 To l-1
s=s*CStr(b(i))
Next i
MyFormat=s
End Function
[color=FF0000]呵呵,乱写的,我这个不好使,VB不支持位操作。[/color][/quote]
哈哈,那你为什么不把它声明为整数类型?
5 楼
okbaby [专家分:100] 发布于 2008-06-07 10:00:00
[quote][quote]我也来一个:
'注意,v只能是数值,对字符串和其它无效
Privte Function MyFormat(v as variant) as String
Dim l As Integer,s As String,i As Integer,b() As Byte
l=Len(v)
Redim b(0 to l-1) As Byte
b=v: s=""
For i=0 To l-1
s=s*CStr(b(i))
Next i
MyFormat=s
End Function
[color=FF0000]呵呵,乱写的,我这个不好使,VB不支持位操作。[/color][/quote]
哈哈,那你为什么不把它声明为整数类型?
[/quote]
整数不是还有Integer和Long嘛,这样写本来主要是想转换任意的值到2进制,无奈VB不支持位操作,我把Byte和位搞错了,看来还是使用.NET好,里面直接支持位操作。
我来回复