Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод Hex в интежер 
:(
    Опции темы
EDuard
Дата 18.11.2005, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 1.8.2005
Где: Синее нигде

Репутация: 2
Всего: 7



Можно ли перевести Hex в интежер?


--------------------

PM MAIL WWW ICQ   Вверх
_hunter
Дата 18.11.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



можно.
только что такое Hex и что такое интежер


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
EDuard
Дата 18.11.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 1.8.2005
Где: Синее нигде

Репутация: 2
Всего: 7



_hunter, можно ли перевести число из шестнадцетиричной системы счисления в десятичную???


--------------------

PM MAIL WWW ICQ   Вверх
_hunter
Дата 18.11.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



можно. почему нельзя?..
http://forum.vingrad.ru/index.php?showtopic=71105


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
DemoCode
Дата 18.11.2005, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Можно в яндексе набрать Hex2Dec и сразу будет много ответов. Вот 2 варианта:

Код

FUNCTION Hex2Dec(Hex:STRING):LongInt;

VAR T1,T2,Dec : LongInt;
Error : Boolean;

BEGIN
Error:=False;
T1:=0;T2:=0;DEC:=0;
FOR T1:=1 TO LENGTH(Hex) DO
BEGIN
T2:=Length(Hex)-T1;
CASE Hex[T1] OF
'0' : DEC:=DEC+0;
'1' : DEC:=DEC+Power(16,T2);
'2' : DEC:=DEC+2*Power(16,T2);
'3' : DEC:=DEC+3*Power(16,T2);
'4' : DEC:=DEC+4*Power(16,T2);
'5' : DEC:=DEC+5*Power(16,T2);
'6' : DEC:=DEC+6*Power(16,T2);
'7' : DEC:=DEC+7*Power(16,T2);
'8' : DEC:=DEC+8*Power(16,T2);
'9' : DEC:=DEC+9*Power(16,T2);
'A','a' : DEC:=DEC+10*Power(16,T2);
'B','b' : DEC:=DEC+11*Power(16,T2);
'C','c' : DEC:=DEC+12*Power(16,T2);
'D','d' : DEC:=DEC+13*Power(16,T2);
'E','e' : DEC:=DEC+14*Power(16,T2);
'F','f' : DEC:=DEC+15*Power(16,T2);
ELSE Error:=True;
END;
END;
Hex2Dec:=Dec;
IF Error THEN Hex2Dec:=0;
END;


Код

Function Hex2Dec (s:string): longint;
var
   res,k: longint;
   r,i: integer;
   c: char;
begin
   res := 0;
   k := 1;
   for i := length (s) downto 1 do
   begin
      c := UpCase (s[i]);
      case c of
         'A'..'F': r := ord(C) - (ord('A') - 10); 
         '0'..'9': r := ord(C) - ord('0');         
      else break
      end;
      res := res + r * k;
      k := k * 16;
   end;
   Hex2Dec := res;
end;



Это сообщение отредактировал(а) DemoCode - 18.11.2005, 18:33


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
darkart
Дата 18.11.2005, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Вот функция:
Код

function HexToInt(strHex:string):longint;
const
  n=16;
var
  i,k,len:integer;
  mult,lRes:longint;
begin
  len:=Length(strHex);
  lRes:=0;
  mult:=1;
  for i:=len downto 1 do
  begin
    case UpCase(strHex[i]) of
      'A':k:=10;
      'B':k:=11;
      'C':k:=12;
      'D':k:=13;
      'E':k:=14;
      'F':k:=15;
      '0'..'9':k:=StrToInt(strHex[i]);
    end;
    lRes:=lRes+k*mult;
    mult:=mult*n;
  end;
  HexToInt:=lRes;
end;

PM MAIL WWW ICQ Skype GTalk   Вверх
Albinos_x
Дата 18.11.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



а вот так не пробовали:

Код

function HexToInt(strHex:string):longint;
begin
result:=StrToInt('$'+strHex);
end;



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.