Пришлось написать самому.
Хотелось бы услышать ваши советы по оптимизации. Единственное преимущество тут - безлимитность. Не хотелось бы её потерять.
- Код: Выделить всё
'Эта вспомогательна яфункция из моего старого "Конвертера систем счислений"
'Переводит из десятичной в любую систему счисления.
Function FromDEC(Numsys As Byte, Deci As Byte) As String
Dim CnvStr$: CnvStr$ = ""
Do
Ostatok = Deci Mod Numsys
Deci2 = Deci - Ostatok
Deci2 = Deci2 / Numsys
If Ostatok > 9 Then Osy$ = Chr$((Ostatok - 10) + 65) Else Osy$ = LTrim$(Str$(Ostatok))
CnvStr$ = Osy$ + CnvStr$
Deci = Deci2
Loop Until Deci = 0
FromDEC = CnvStr$
End Function
'Эта функция перевод строку, содержащую десятичное число
'в строку с двоичным числом.
Function ToBin(Value As String) As String
Dim RetFunc As String
Value = Hex$(Val(Value))
If Len(Value) Mod 2 > 0 Then Value = "0" & Value
Dim EnumBytes As Long, NextByte As String
For EnumBytes = (Len(Value) - 1) To 1 Step -2
NextByte = FromDEC(2, Val("&H" & Mid$(Value, EnumBytes, 2)))
If Len(NextByte) < 8 Then NextByte = String$(8 - Len(NextByte), "0") & NextByte
RetFunc = NextByte & RetFunc
Next EnumBytes
Dim CutZ As Long
CutZ = InStr(1, RetFunc, "1")
If CutZ > 0 Then RetFunc = Right$(RetFunc, Len(RetFunc) - (CutZ - 1))
ToBin = RetFunc
End Function