Описание функции
Vast
Преобразование числа из одной системы счисления в другую.
Vast (source$, srcBase.i, destBase.i, groupSize.i=0, srcSymbols$=#StdSymbols$, destSymbols$=#StdSymbols$)
Параметры
source$ | Исходное целое число, в виде строки, может иметь префиксы "+" и "-" и разделительные пробелы. Здесь могут быть символы указанные в параметре srcSymbols$. Также число может выглядеть как {1,5,8} или -{1,5,8} |
srcBase.i |
База исходного числа, например 2 или 10 или 16 или другое 2 - для двоичного (01) 10 - для десятиричного (0-9) 16 - для шестнадцатеричного (0-9, A-F) |
destBase.i |
База числа, в которое необходимо преобразовать, например 2 или 10 или 16 или другое 2 - для двоичного (01) 10 - для десятиричного (0-9) 16 - для шестнадцатеричного (0-9, A-F) |
groupSize.i |
[необязательный] Размер группы, например при 3 число "16000" будет записано как "16 000". По умолчанию 0, то есть разделения не будет. При -1 возвращается список в виде {1,5,8} |
srcSymbols$ |
[необязательный] Набор символов исходного числа. По умолчанию 0-9, A-Z. При этом если выбрана база 10 или 16, то эта строка будет обрезана до указанной длины и набор символов будет соответствовать стандартным значениям для соответствующей базы. Задав свои символы можно получить число любой базы выраженное любыми символами. |
destSymbols$ |
[необязательный] Набор символов, в которое необходимо преобразовать. Правила такие же как для srcSymbols$. |
Возвращаемое значение
Успех: | Возвращает число в виде строки. |
Ошибка: | Возвращает "" пустую строку |
Пример
; Little John
; https://www.purebasic.fr/english/viewtopic.php?p=459536#p459536
XIncludeFile "Radi.pbi"
UseModule Radi
; Секунды во время: 1 час 5 минут 8 секунд
Debug Vast("3908",10, 60, -1) ; = {1,5,8}
; Время в секунды
Debug Vast("{1,5,8}",60, 10) ; = 3908
; Шестнадцатеричное в десятичное с разделением групп по 3 символа
Debug Vast(UCase("ffffff"), 16, 10, 3) ; = 16 777 215
; Шестнадцатеричное в двоичное с разделением групп по 4 символа
Debug Vast(UCase("ac8d"), 16, 2, 4) ; = 1010 1100 1000 1101
; Двоичное в шестнадцатеричное
Debug Vast("1101 0010", 2, 16) ; = D2
; Десятичное в шестнадцатеричное в виде списка
Debug Vast("16 777 215", 10, 16, -1) ; = {15,15,15,15,15,15}
; Цвет RGB в десятичное
Debug Vast("{255,255,255}", $FF + 1, 10) ; = 16777215
; Цвет RGB в шестнадцатеричное
Debug Hex(Val(Vast("{255,255,255}", $FF + 1, 10))) ; = FFFFFF
; Десятичное в число с базой 36 и набором 0-9, A-Z
Debug Vast("9382716",10, 36, 0) ; = 5L3R0