1个回答
展开全部
1、在VB中没有一种所谓的“真正的二进制”,只有long、integer、byte这样的整数。 2、VB中不支持二进制字符串。只支持16进制字符串,需要在前面加前缀"&H"。 比如:CLng("&HFFFF") 3、如果你想将"1010011101"这样的二进制字符串转换为数值,需要自己写一个函数。 下面是我给你写的一个: Function BinaryValue(ByVal strBin As String) As Long Dim lngOutValue As Long Dim bytBytes() As Byte Dim bytAscii(0 To 255) As Byte Dim lngBytes_Start As Long Dim lngBytes_Length As Long Dim lngBytes_Index As Long bytAscii(49) = 1 bytBytes() = StrConv(strBin, vbFromUnicode) lngBytes_Length = UBound(bytBytes) If lngBytes_Length > 30 Then lngBytes_Start = lngBytes_Length - 30 For lngBytes_Index = lngBytes_Start To lngBytes_Length lngOutValue = lngOutValue + bytAscii(bytBytes(lngBytes_Index)) * 2 ^ (lngBytes_Length - lngBytes_Index) Next BinaryValue = lngOutValue End Function BinaryValue函数可以将31位以下的二进制字符串转换为Long类型整数。 比如下面的用法: MsgBox (BinaryValue("1111111111111111111111111111110"))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询