Ранее я задавал вопрос о сравнении чисел, используя оператор сравнения «И» в If Statements, и теперь я возился с тем, чтобы обернуть голову вокруг побитовых операторов. Поэтому я написал очень простой код, который позволит мне увидеть преобразование любого десятичного числа в двоичном формате.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(ConvertToBinary(-1))
End Sub
Public Function ConvertToBinary(ByVal someInteger As SByte) As String
Dim converted As String = Convert.ToString(someInteger, 2) '.PadLeft(8, "a"c)
Return converted
End Function
Обратите внимание, что я использую SByte в качестве параметра - который должен содержать только 8 бит, верно? Однако появившееся окно сообщения имеет 16 битов, назначенных отрицательным числам. Положительные числа имеют правильный 8.