HelpF.pro

Функция переводит Десятичное число в Шестнадцатеричное и обратно

Код 1C v 8.х
 // Функция переводит десятичное число в шестнадцатеричное
// Параметры: _Число - Число - Десятичное число
// Возвращаемое значение: Строка - Шестнадцатеричное число
//
Функция DecToHex(Знач _Число)
База = 16;
Результат = "";
Пока _Число <> 0 Цикл
Поз =_Число % База;
Результат = Сред("0123456789ABCDEF", Поз + 1, 1) + Результат;
_Число = Цел(_Число / База);
КонецЦикла;
Возврат Результат;
КонецФункции // DecToHex()

// Функция переводит шестнадцатеричное число в десятичное
// Параметры: _Hex - Строка - Шестнадцатеричное число
// Возвращаемое значение: Число - Десятичное число
//
Функция HexToDec(Знач _Hex)
База = 16;
_Hex = СокрЛП(_Hex);
СтаршаяСтепень = СтрДлина(_Hex) - 1;
Результат = 0;
счСимволов = 1;
Пока СтаршаяСтепень >=0 Цикл
_HexСимвол = Сред(_Hex, счСимволов, 1);
Представление = Найти("0123456789ABCDEF", _HexСимвол) - 1;
Результат = Результат + Представление * Степень(База, СтаршаяСтепень);
СтаршаяСтепень = СтаршаяСтепень - 1;
СчСимволов = СчСимволов + 1;
КонецЦикла;
Возврат Результат;
КонецФункции // HexToDec()

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/940.html