Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
ВнизФункция перевода чисел из 10-ой системы в 16-ю Найти похожие ветки
← →
Pliajnik (2003-04-30 23:55) [0]Дайте пожалуйста...
← →
default (2003-04-30 23:58) [1]function IntToHex(Int: LongWord): String;
const
MasDig = "0123456789ABCDEF";
var
i, NextHexDigit: Byte;
Priem: LongWord;
begin
if Int = 0 then begin Result := "0"; Exit; end;
for i := 1 to 8 do
begin
asm
mov Priem,0
mov ecx,Int
shld Priem,ecx,4
shl Int,4
mov al,byte ptr Priem
mov NextHexDigit,al
end;
Result := Result + MasDig[NextHexDigit + 1];
end;
while Result[1] = "0" do Delete(Result, 1, 1);
end;
кстати довольно оригинальная...
← →
Pliajnik (2003-05-01 00:51) [2]спасибо
← →
Anatoly Podgoretsky (2003-05-01 01:29) [3]IntToHex(StrToInt(S),N)
← →
Ihor Osov'yak (2003-05-01 01:39) [4]1. Если под числами понимать строки - то см. Anatoly Podgoretsky © (01.05.03 01:29) с маленьким дополнением:
StrToInt имеет обычай генерировать ексепшен, если строку нельзя преобразовать в интеджер. Поэтому этот код может и придется брать в try except end, в зависимости от специфики задачи.
Или пользовть Val с временной переменной вместо StrToInt
2. Если под числами понимать integer и иже с ними - то и преоьразовывать как-бы ничего и надо :-)
← →
Anatoly Podgoretsky (2003-05-01 11:23) [5]А если понимать integer то не приходится говорить о десятичной системе, кроме случая двоично-десятичных чисел.
← →
sevlad (2003-05-01 11:41) [6]2 Ihor Osov"yak ©
try except end емеет смысл использовать если нужно уведомить об ошибке (или залогировать ошибку)
А если надо проглатить в лубом случае хоть что-то
IntToHex(StrToIntDef(S, что-то),N)
← →
Ihor Osov'yak (2003-05-01 12:57) [7]2 sevlad (01.05.03 11:41)
Вот в любом случае и не проглотишь, ибо при определенных входных данных может быть ексепшен. А его обрабатывать надо. Другой вопрос, с какой целью.
2 Anatoly Podgoretsky © (01.05.03 11:23) :-)
← →
default (2003-05-01 13:06) [8]парню надо "пример" а не юзать бесконечно ф-ции написанные профессионалами Borland
← →
sevlad (2003-05-01 15:53) [9]Ihor Osov"yak ©
Обрабатывать надо конечно, но если обработка заключаеться в уставке какого-то значения по умолчанию, без уведомления про ошибку - то почему бы не написать одну строчку как я сделал?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c