Глядя, чтобы исправить этот код...Пожалуйста, помогите
не могу понять, почему при сгенерировании этот код будет преобразовывать только целое число 1 из двоичного в десятичное, а когда вы добавляете любые нули в свою двоичную последовательность, он возвращается назад с просьбой ввести двоичное число.
Что я уже пробовал:
Модуль Module1
Суб Основной()
Dim lv_binary как строка
Dim lv_decimal как десятичный
lv_binary = getBinary()
Приставка.Метода WriteLine(lv_binary)
lv_decimal = convert2Binary(lv_binary)
Приставка.WriteLine ("Binary: {0}", lv_binary)
Приставка.WriteLine ("Decimal:{0}", lv_decimal)
Главный()
Приставка.ReadKey()
Конец Подводной Лодки
Функция convert2Binary(pv_binary As String) как десятичная
Dim lv_decimalNumber как десятичное число
Dim lv_digit как целое число
Dim lv_maxElementNumber как целое число
Дим lv_positionValue(pv_binary.Длина-1) В Десятичном Виде
lv_decimalNumber = 0
lv_maxElementNumber = pv_binary.Длина - 1
Для lv_index = 0 до lv_maxElementNumber
lv_digit = Кинт(pv_binary(lv_index).Метод toString)
lv_positionValue (lv_index) = lv_digit * 2 ^ (lv_maxElementNumber - lv_index)
lv_decimalNumber += lv_positionValue(lv_index)
Приставка.WriteLine(CStr(lv_digit) & "* 2^ " &
Функция cstr(lv_maxElementNumber - lv_index) &ампер; " = " &амп;
Функция cstr(lv_positionValue(lv_index)))
Следующий
Приставка.WriteLine ("ответ составляется путем добавления следующих значений:")
Для lv_index = lv_positionValue.Длина-От 1 До 0 Шаг -1
Если lv_index < lv_positionValue.Длина-1 Тогда
Приставка.Писать("+")
Ещё
Приставка.Писать(" ")
Конец, Если
Приставка.WriteLine(CStr(lv_positionValue(lv_index)).PadLeft(5 + CStr(lv_positionValue(0)).Длина))
Следующий
Приставка.WriteLine(StrDup(CStr(lv_positionValue(0)).Длина + 5 + 1, "-"))
Вернуться lv_decimalNumber
Конечная Функция
Функция getBinary() в виде строки
Dim lv_binary как строка
Dim lv_valid как логическое значение
Делать
Приставка.Write ("введите двоичное число для преобразования:")
lv_binary = консоль.Линия чтения
Если статистика(lv_binary) Затем
lv_valid = истина
Для lv_index = 1 или 0 для lv_binary.Длина - 1
Если lv_binary (lv_index) < & gt; "1", то
lv_valid = ложь
Конец, Если
Следующий
Ещё
lv_valid = ложь
Конец, Если
Цикл, пока lv_valid
Вернуться lv_binary
Конечная Функция
Конечный Модуль
[no name]
Для этого и используется отладчик.