Реализовать нативную функцию дв.в.восьм - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д