我已經找到了如何做到相反的轉換一個整數到一個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