我已经找到了如何做到相反的转换一个整数到一个16位布尔数组。转换一个16位布尔数组为一个整数
Dim ND1_Array As New System.Collections.BitArray(System.BitConverter.GetBytes(Data(2)))
有我想这
Dim barray(15) As Boolean : barray(0) = True : barray(2) = True : barray(4) = True
Dim bittoint As Integer
bittoint = Convert.ToInt32(barray(0), 0)
此代码抛出一个错误呢? 我已经看了遍网,但无法找到如何做到这一点。
bittoint = BitConverter.ToInt32(barray(0), 0)
这具有的误差以及 错误1个值类型“布尔”不能被转换为“字节的1维阵列”。 C:\ PLC \ TCPClientClean \ TCPClientClean \ ChatClient.vb 201 41 TCPClientClean
这就是我想出的。不知道什么是更好的方法?我刚看到提供的新的更新代码。
Dim BoolStg As String
Dim BoolArra1DexBit As Boolean
Dim BitArray1ToInt16 As Integer
For BarryDex = 0 To 15
BoolArra1DexBit = BoolAray1(BarryDex)
If BoolArra1DexBit = True Then
BoolStg = "1" & BoolStg
Else : BoolStg = "0" & BoolStg
End If
Next
BitArray1ToInt16 = Convert.ToInt16(BoolStg, 2)
更详细的错误描述请。 – OlimilOops 2015-02-08 20:16:46
无效的基地 ,并在即时窗口中 mscorlib.dll – 2015-02-08 20:20:00
发生第一次机会异常的类型'System.ArgumentException'您使用布尔值提供toint32,这里没有第二个参数。 – OlimilOops 2015-02-08 20:20:03