Показать сообщение отдельно
  #2  
Старый 24.05.2009, 14:40
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Вот так можно переводить из 10ой в 16ую
Код:
function Dec2Hex(const Source: Integer): String;
var
 Dec: Integer;
 Hex: String;
begin
 Dec := Source;

 Hex := '';
  while Dec <> 0 do
  begin
    case (Dec mod 16) of
     10: Hex := 'A' + Hex;
     11: Hex := 'B' + Hex;
     12: Hex := 'C' + Hex;
     13: Hex := 'D' + Hex;
     14: Hex := 'E' + Hex;
     15: Hex := 'F' + Hex;
     else Hex := IntToStr(Dec mod 16) + Hex;
    end;
   Dec := Dec div 16; 
  end;
 Result := Hex;
end;

А для сложения в других системах делай так: смотришь в какой системе у тебя числа, переводишь их в 10ую, производишь операции и делаешь перевод получившегося числа обратно
Ответить с цитированием