Difference between revisions of "BaseToDec"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:43, 7 February 2021
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"));