Имя: Пароль:
1C
 
Число в шестнадцатеричном формате
0 Slon747
 
31.10.08
09:09
Есть ли готовый алгоритм получения числа в шестнадцатеричном формате?
Или нужно самому писать?
1 Wobland
 
31.10.08
09:14
в документации ничего такого не нашёл...
2 Мелкий бес
 
31.10.08
09:17
Функция Преобразование10в16(Значение10)
   Строка16 = "";
   
   Пока Истина Цикл
       Остаток = Значение10 - Цел(Значение10/16)*16;
       Значение10 = Цел(Значение10/16);
       
       Строка16 = Число16(Остаток) + Строка16;
       
       Если Значение10 < 16 Тогда
           Строка16 = Число16(Значение10) + Строка16;
           Прервать;
       КонецЕсли;
       
   КонецЦикла;
   
   Пока СтрДлина(Строка16) < 8 Цикл
       Строка16 = "0" + Строка16;
   КонецЦикла;
   
   Возврат "0x"+Строка16;
КонецФункции
3 Мелкий бес
 
31.10.08
09:17
Функция Число16(Знач10)
   
   Если Знач10 > 16 Тогда
       Знач10 = 16;
   КонецЕсли;
   
   Строка16 = "";
   Если Знач10 >= 0 И Знач10 <= 9 Тогда Строка16 = "" + Знач10;
   ИначеЕсли Знач10 = 10 Тогда Строка16 = "a";
   ИначеЕсли Знач10 = 11 Тогда Строка16 = "b";
   ИначеЕсли Знач10 = 12 Тогда Строка16 = "c";
   ИначеЕсли Знач10 = 13 Тогда Строка16 = "d";
   ИначеЕсли Знач10 = 14 Тогда Строка16 = "e";
   ИначеЕсли Знач10 = 15 Тогда Строка16 = "f";
   ИначеЕсли Знач10 = 16 Тогда Строка16 = "10";
   КонецЕсли;
   
   Возврат Строка16;
КонецФункции
4 Мелкий бес
 
31.10.08
09:17
Функция Преобразование10в36(Значение10)
   
   Символы36 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   Строка36="";
   Пока Значение10 > 0 Цикл
       Остаток = Значение10 - Цел(Значение10/36)*36;
       Значение10 = Цел(Значение10/36);
       Симв = Сред(Символы36, Остаток+1, 1);
       Строка36 = Симв + Строка36;
   КонецЦикла;
   
   Пока СтрДлина(Строка36) < 6 Цикл
       Строка36 = " " + Строка36;
   КонецЦикла;
   
   Возврат Строка36;
КонецФункции
5 Новиков
 
31.10.08
09:18
Посмотри внешнюю компоненту BinFiles.dll

Я ее для двоичных чисел юзал когда-то.
6 Slon747
 
31.10.08
09:23
Всем спасибо!
7 Torquader Darigha
 
31.10.08
10:33
А можно ещё и Visual Basic через ScriptControl подключить.
P.S. только вы делаете не преобразование 10 в 16, а вывод числа в шестнадцатиричной системе, так как в памяти числа лежат всё равно в двоичном виде.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан