我在将整数转换为二进制数时遇到问题,任何人都可以指导我在编码中遇到哪个错误?谢谢。
Imports System.Text
Module Module1
Sub Main()
Dim number As Integer
Console.Write("Please Enter Number: ")
number = Console.ReadLine()
'Print the results
Console.WriteLine("The binary is: " & ConvertDecimalToBinary(number))
End Sub
Private Function ConvertDecimalToBinary(number As Integer) As String
Dim remainder As Integer
Dim num As Integer
'Create a string for binary
Dim sb = New StringBuilder()
Do
remainder = number Mod 2
sb.Insert(0, remainder)
num \= 2
Loop While num = 1
Return remainder
End Function
End Module
我想要类似示例图片的输出:
EDIT:还有一个更简单的解决方案,您可以在这里:
Sub Main()
Dim number As Integer
Console.Write("Please enter a number : ")
number = Convert.ToInt32(Console.ReadLine)
'Print the results
Console.WriteLine("The binary result of the number is : " & Convert.ToString(number, 2))
Console.ReadKey()
End Sub
这是从[[C#到[this post的VB]的翻译代码:
Private Function ConvertDecimalToBinary(number As Integer) As String
Dim bits As Char() = New Char(32) {}
Dim i As Integer
While number <> 0
bits(Math.Min(Interlocked.Increment(i), i - 1)) = If((number And 1) = 1, "1"c, "0"c)
number >>= 1
End While
Array.Reverse(bits, 0, i)
Return New String(bits)
End Function
所以您的主要功能将是这样的:
Sub Main() Dim number As Integer Console.Write("Please enter a number : ") number = Convert.ToInt32(Console.ReadLine) 'Print the results Console.WriteLine("The binary result of the number is : " & ConvertDecimalToBinary(number)) Console.ReadKey() End Sub