Реализовать нативную функцию дв.в.восьм - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Собственно по тз требуется реализовать нативную функцию Excel дв.в.восьм своими методами, не прибегая к oct() и прочим. Есть код, но т.к. уровень познаний у меня не самый высокий, не могу продвинуться дальше в решении задачи. Мысль заключается в выделении триад и в последующем преобразовывать их в восьм. число сравнивая с массивом. Но тут уже и начинаются проблемы. Помогите пожалуйста в решении.

Решение задачи: «Реализовать нативную функцию дв.в.восьм»

textual
Листинг программы
Function Bin2Oct(ByVal sBin As String) As String
Const BIN3 = "000 001 010 011 100 101 110 111 "
Dim i&, j&
    'делаем длину строки кратной 3
  i = Len(sBin) Mod 3
  If i Then sBin = String$(3 - i, "0") & sBin
  
  For i = 1 To Len(sBin) - 2 Step 3
    j = InStr(BIN3, Mid$(sBin, i, 3) & " ")
    If j = 0 Then Err.Raise 5
    Bin2Oct = Bin2Oct & ChrW$(j \ 4 + 48)
  Next
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5