【问题标题】:Making a binary to decimal converter, but need to convert a char array to a integer array制作二进制到十进制转换器,但需要将char数组转换为整数数组
【发布时间】:2019-07-31 13:43:48
【问题描述】:

我需要创建一个将任何二进制数(最多 8 位)转换为十进制对应的代码。

所以我已经创建了大部分程序,但我有一个问题,这是我使用 ToCharArray 将输入的数字字符串拆分为数组的各个元素。但是我必须使用它们进行算术运算,但为此它们需要在一个整数数组中。

 Dim array(7) As Integer
    Dim num As String
    Dim i As Integer = 0
    Dim x As Integer = 0
    Dim y As Integer = 1
    Dim dec As Integer = 0
    console.writeline("Enter an 8-Digit binary string")
    num = console.readline()
    num.ToCharArray(array)
    array.Reverse(array)
    For i = 0 To 7
        dec = dec + array(x) * 1 * y
        x = x + 1
        y = y * 2
    Next

    console.write(dec)
    console.read()

(对不起,我不知道哪些部分会有所帮助,所以这是我到目前为止所得到的)

【问题讨论】:

  • 你应该看看这个问题及其答案:stackoverflow.com/questions/1961599/…
  • 好奇你为什么接受你在上一个问题中提供的建议? Dim dec As Decimal = 0 dec = Convert.ToInt64(1101, 2)
  • 请注意.ToCharArray 是一个函数,所以你必须将它的结果分配给某个东西,否则这样做没有意义。这就像写“1 + 2”而不是“x = 1 + 2”。

标签: arrays vb.net


【解决方案1】:

让您的生活更轻松,并利用 vb.net 中的转换功能,所以像这样非常简单

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim binary As String = "11010110"

        Console.WriteLine(ToDecimal(binary))
    End Sub

    Function ToDecimal(input As String) As Integer
        Dim i As Integer = Convert.ToInt32(input, 2)
        Return i
    End Function

【讨论】:

  • 请开启 Option Strict。这是一个两部分的过程。首先对于当前项目 - 在解决方案资源管理器中双击我的项目。选择左侧的编译。在 Option Strict 下拉列表中选择 ON。未来项目的第二个 - 转到工具菜单 -> 选项 -> 项目和解决方案 -> VB 默认值。在 Option Strict 下拉列表中选择 ON。这将使您避免在运行时出现错误。
猜你喜欢
  • 2016-12-25
  • 2018-04-21
  • 2017-01-31
  • 1970-01-01
  • 2011-01-08
  • 2012-02-24
  • 2017-01-27
  • 2010-12-08
  • 2014-03-13
相关资源
最近更新 更多