Здесь я напишу и разъясню код для перевода чисел из десятичной системы счисления в двоичную. Потом вы сами сможете написать код по аналогии для обратного перевода:
Dim bn1 As String ' Это для двоичного числа, записанного задом наперед Dim bn2 As Long ' В эту переменную запишем наше десятичное число Dim bn3 As String ' Сюда запишен окончательное двоичное число Dim bn4 As Long ' Вспомогательный счетчик bn1 = "" ' Делаем пустым bn3 = "" ' Делаем пустым Do While bn2 > 1 ' В этом цикле будем делить наше число, пока оно больше чем 1 If Int(bn2 / 2) <> bn2 / 2 Then ' Проверяем, есть ли остаток при делении bn1 = bn1 + "1" ' Добавляем к двоичному числу единицу bn2 = Int(bn2 / 2) ' И делим десятичное на два Else ' Если остатка нет, то... bn1 = bn1 + "0" ' Добавляем к двоичному числу ноль bn2 = bn2 / 2 ' И делим десятичное на два End If Loop bn1 = bn1 + "1" ' Добавляем к двоичному числу единицу bn4 = Len(bn1) ' Получаем длину получившейся строки с числом Do While Not bn4 = 0 ' Пока счетчик не будет равен нулю bn3 = bn3 + Mid(bn1, bn4, 1) ' Перезаписываем наше двоичное число реверсом bn4 = bn4 - 1 ' Счетчик Loop
' Теперь остается перед кодом написать что-то типа "bn2 = 13" и после выполнения кода bn3 будет равен чему-то типа "1101"
|