Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: bräuchte mal unterstützung (Zahlensysteme)
8. Mai 2007, 18:33
Hallo Marco,
mit einem kleinen Trick kannst du das CASE-Statement vermeiden:
Delphi-Quellcode:
function HexToBin(const s: string): string;
const
HexDigits = '0123456789ABCDEF';
BinTetrade: array [0..15] of string[4]
= ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',
'1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');
var
i, iNibble: Integer;
begin
SetLength(Result, Length(s) shl 2);
for i := 1 to Length(s) do
begin
iNibble := Pred(Pos(Upcase(s[i]), HexDigits));
Move(BinTetrade[iNibble][1], Result[Succ(Pred(i) shl 2)], 4);
end;
end;
Freundliche Grüße vom marabu
|
|
Zitat
|