之前我问过一个问题,在If语句中使用“和”比较运算符来比较数字,现在我一直在努力让我的脑袋绕着按位运算符。所以我编写了一个非常基本的代码,允许我以二进制格式查看任何十进制数的转换。
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。
答案 0 :(得分:2)
没有Convert.ToString
重载需要SByte
,因此SByte
被隐式转换为Short
。