Difference between revisions of "DecToBase"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:50, 7 February 2021
DecToBase (Функции работы с числами) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция преобразовывает числовой аргумент в систему счисления по основанию второго аргумента. Для преобразования можно использовать словарь, представляеющий собой строку, каждый знак которой будет отвечать за цифру при переводе. По умолчанию, используется следующий словарь 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
, к примеру, для 16-ричной системы (основание 16), используются первые 16 символов этого словаря (0123456789ABCDEF
). Словарь по умолчанию дает возможность преобразования чисел в основание с максимальным значением 62. Знак числа не участвует в преобразовании и сохраняется в результирующей строке. Максимальное число, которое можно преобразовать (64-битное число без знака) -- 18,446,744,073,709,551,615 (см. Числа).
Синтаксис
DecToBase(<Число (STRING,INT)>,<Основание (STRING,INT)>,<Словарь (STRING)>):<Результат преобразования (STRING)>
Аргументы
<Число (STRING,INT)>
- Числовое значение (или его текстовое представление), которое необходимо преобразовать.<Основание (STRING,INT)>
- Числовое значение (или его текстовое представление), которое представляет собой основание преобразования. Для двоичного преобразования, к примеру, этот аргумент должен иметь значение 2. Важное: если основание представлено отрицательным числом, будет использовано его абсолютная величина, и первый аргумент будет считаться числом без знака. Система не работает с беззнаковыми числами, поэтому верхний бит 64-битного числа представляет собой знак. Задавая отрицательное основание, можно обойти это ограничение, верхний бит во входящем числе будет использоваться в данных.<Словарь (STRING)>
- (необязательный аргумент) Словарь преобразования. Для обычных оснований (2,8,16) имеет смысл использовать словать по умолчанию.
Возвращаемое значение
Результат функции будет строкой.
Примеры
//Будет выведено "11101110001010001111010101" Message(DecToBase(62432213,2)); //Будет выведено "186A0" Message(DecToBase(100000,16)); //Будет выведено "FFFFFFFFFFFFFFFF" (отрицательное основание используется для представления беззнаковых чисел, в числе -1 все 64 бита установлены) Message(DecToBase(-1,-16)); //Будет выведено "-BCPNB" Message(DecToBase(-77777,16,"ABCDEFGHIJKLMNOP"));