二进制减法 VB.NET
Binary Subtraction VB.NET
我想就 Visual Basic 2010 中的二进制减法寻求一些帮助。我的代码运行良好,感谢@video.baba
Dim BinaryResult As Integer = Convert.ToInt32(TextBox1.Text, 2) + Convert.ToInt32(TextBox2.Text, 2)
Textbox3.Text = BinaryResult.ToString
最终,问题是这样的。如果第一个输入低于第二个输入,则结果为负,但答案相差甚远
示例:
0000 - 1111 = 11111111111111111111111111111001
必须
0000 - 1111 = -01111
如有任何帮助,我们将不胜感激。谢谢
如果您真的希望输出为 -01111
(或 -1111
,因为前导零被省略),您必须使数字为正数,然后在二进制字符串前添加负号.
然后,在将其转换回来时,您必须删除符号并再次使结果为负数。
转换为二进制:
Dim BinaryResult As Integer = Convert.ToInt32(TextBox1.Text, 2) - Convert.ToInt32(TextBox2.Text, 2)
If BinaryResult < 0 Then
TextBox3.Text = "-" & Convert.ToString(-BinaryResult, 2)
Else
TextBox3.Text = Convert.ToString(BinaryResult, 2)
End If
从二进制转换:
Dim BinaryResult As Integer
If TextBox3.Text.StartsWith("-") Then
BinaryResult = -Convert.ToInt32(TextBox3.Text.TrimStart("-"c), 2)
Else
BinaryResult = Convert.ToInt32(TextBox3.Text, 2)
End If
可重用版本:
Private Function BinarySubtract(ByVal a As String, ByVal b As String) As String
Dim BinaryResult As Integer = Convert.ToInt32(a, 2) - Convert.ToInt32(b, 2)
If BinaryResult < 0 Then
Return "-" & Convert.ToString(-BinaryResult, 2)
Else
Return Convert.ToString(BinaryResult, 2)
End If
End Function
Private Function FromBinary(ByVal s As String) As Integer
If s.StartsWith("-") Then
Return -Convert.ToInt32(s.TrimStart("-"c), 2)
Else
Return Convert.ToInt32(s, 2)
End If
End Function
我想就 Visual Basic 2010 中的二进制减法寻求一些帮助。我的代码运行良好,感谢@video.baba
Dim BinaryResult As Integer = Convert.ToInt32(TextBox1.Text, 2) + Convert.ToInt32(TextBox2.Text, 2)
Textbox3.Text = BinaryResult.ToString
最终,问题是这样的。如果第一个输入低于第二个输入,则结果为负,但答案相差甚远
示例:
0000 - 1111 = 11111111111111111111111111111001
必须
0000 - 1111 = -01111
如有任何帮助,我们将不胜感激。谢谢
如果您真的希望输出为 -01111
(或 -1111
,因为前导零被省略),您必须使数字为正数,然后在二进制字符串前添加负号.
然后,在将其转换回来时,您必须删除符号并再次使结果为负数。
转换为二进制:
Dim BinaryResult As Integer = Convert.ToInt32(TextBox1.Text, 2) - Convert.ToInt32(TextBox2.Text, 2)
If BinaryResult < 0 Then
TextBox3.Text = "-" & Convert.ToString(-BinaryResult, 2)
Else
TextBox3.Text = Convert.ToString(BinaryResult, 2)
End If
从二进制转换:
Dim BinaryResult As Integer
If TextBox3.Text.StartsWith("-") Then
BinaryResult = -Convert.ToInt32(TextBox3.Text.TrimStart("-"c), 2)
Else
BinaryResult = Convert.ToInt32(TextBox3.Text, 2)
End If
可重用版本:
Private Function BinarySubtract(ByVal a As String, ByVal b As String) As String
Dim BinaryResult As Integer = Convert.ToInt32(a, 2) - Convert.ToInt32(b, 2)
If BinaryResult < 0 Then
Return "-" & Convert.ToString(-BinaryResult, 2)
Else
Return Convert.ToString(BinaryResult, 2)
End If
End Function
Private Function FromBinary(ByVal s As String) As Integer
If s.StartsWith("-") Then
Return -Convert.ToInt32(s.TrimStart("-"c), 2)
Else
Return Convert.ToInt32(s, 2)
End If
End Function