Число в шестнадцатеричном формате
☑
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, а вывод числа в шестнадцатиричной системе, так как в памяти числа лежат всё равно в двоичном виде.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан