Thema: Delphi HexToInt optimieren

Einzelnen Beitrag anzeigen

luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#1

HexToInt optimieren

  Alt 24. Apr 2010, 17:03
Hi,

Ich habe folgende 2 Funktionen:
Delphi-Quellcode:
function HexToInt1(const S: string): Cardinal;
begin
  Result := StrToInt('$' + S);
end;

function HexToInt2(const S: string): Cardinal;
var
  I: Byte;
  C: Char;
begin
  Result := 0;
  for I := 1 to Length(S) do
  begin
    Result := Result * 16;
    C := S[I];
    case C of
      '0'..'9': Inc(Result, Ord(C) - Ord('0'));
      'a'..'f': Inc(Result, Ord(C) - Ord('a') + 10);
      'A'..'F': Inc(Result, Ord(C) - Ord('A') + 10);
      //else raise EConvertError.Create('No Hex-Number');
    end;
  end;
end;
Die 2. Version ist die schnellere, mir allerdings nicht schnell genug.
Hat jemand eine optimierte (assembler) Version von HexToInt oder eine Idee zur Optimierung?

Danke!
  Mit Zitat antworten Zitat