BaseToDec

From SunFlurry wiki
Revision as of 15:35, 20 April 2020 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  BaseToDec (Функции работы с числами)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Аргументы не строка и не число, недостаточная длина словаря, переполнение
Визуальность:Нет

Функция преобразовывает строковой аргумент в системе счисления по основанию второго аргумента в десятичное число. Для преобразования можно использовать словарь, представляеющий собой строку, каждый знак которой будет отвечать за цифру при переводе. По умолчанию, используется следующий словарь 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz, к примеру, для 16-ричной системы (основание 16), используются первые 16 символов этого словаря (0123456789ABCDEF). Словарь по умолчанию дает возможность преобразования чисел в основание с максимальным значением 62. Знак числа не участвует в преобразовании и сохраняется в результирующей строке. Максимальное число, которое можно получить в результате преобразования -- 9,223,372,036,854,775,807 (см. Числа). Следует также помнить, что константы в исходных текстах программы можно записывать непосредственно в шестнадцатеричной ($FFFF0000, 0xFFFF0000), восьмеричной (0o37777600000) или двоичной (0b11111111111111110000000000000000) формах.

Синтаксис

BaseToDec(<Источник преобразования (STRING)>,<Основание (INT)>,<Словарь (STRING)>):<Результат преобразования (INT)>

Аргументы

  • <Источник преобразования (STRING)> - Строковое представление числа в другой системе счисления, которое необходимо преобразовать в десятичную.
  • <Основание (STRING,INT)> - Числовое значение (или его текстовое представление), которое представляет собой основание преобразования. Для двоичного преобразования, к примеру, этот аргумент должен иметь значение 2.
  • <Словарь (STRING)> - (необязательный аргумент) Словарь преобразования. Для обычных оснований (2,8,16) имеет смысл использовать словать по умолчанию.

Возвращаемое значение

Результат функции всегда будет целым числом.

Примеры

//Будет выведено 62432213
Message(BaseToDec("11101110001010001111010101",2));

//Будет выведено 100000
Message(BaseToDec("186A0",16));

//Будет выведено -77777
Message(BaseToDec("-BCPNB",16,"ABCDEFGHIJKLMNOP"));