Рекурсивная функция для преобразования из десятичной в двоичную - PullRequest
0 голосов
/ 14 февраля 2020

В моем коде проблема с преобразованием числа 3

Я хотел бы написать функцию, которая преобразует десятичное число в двоичное. Принцип рекурсии должен быть использован. Я уже написал следующий код:

    Function recursive(number As Integer) As String

        Dim result As String

        If number > 0 Then

            Dim binaryNumber As String
            Dim digit As Integer

            binaryNumber = recursive(number / 2)
            digit = number Mod 2
            result = result & binaryNumber & digit

        End If

        recursive = result

    End Function

Правильный результат:

  • Вход: 10
    • Выход: 1010

Неверный результат:

  • Вход: 3
    • Выход: 101

Это также работает достаточно хорошо, но я получаю неправильный результат, когда пытаюсь преобразовать десятичное число 3. Где ошибка?

1 Ответ

1 голос
/ 14 февраля 2020
Function recursive(number As Integer) As String

        Dim result As String

        If number > 0 Then

            Dim binaryNumber As String
            Dim digit As Integer
            digit = number Mod 2
            number = Int(number / 2)
            binaryNumber = recursive(number)
            result = result & binaryNumber & digit

        End If

        recursive = result
End Function
...