二进制值无法正确显示

问题描述 投票:0回答:1

我在将整数转换为二进制数时遇到问题,任何人都可以指导我在编码中遇到哪个错误?谢谢。

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

这是我输入5时的输出,然后给我二进制数字为1:Output

我想要类似示例图片的输出:

Output2

vb.net visual-studio
1个回答
0
投票

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 postVB]的翻译代码:

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

© www.soinside.com 2019 - 2024. All rights reserved.