Einzelnen Beitrag anzeigen

kolbaschedder

Registriert seit: 24. Aug 2006
Ort: Schwäbisch Gmünd
55 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Zahl "komprimieren"

  Alt 4. Jun 2007, 14:15
Kodierung könnte wie folgt aussehen :

Delphi-Quellcode:
input : string[8];
output :array[0..7] of byte;
for i :=0 to 7 do
begin
  case ord(string[i+1]) of
    48..57 : output[i] := ord(string[i+1])-48; // Zahlen minus Offset
    65..90 : output[i] := ord(string[i+1])-65+10; // Großbuchstaben minus offset +bereich der Zahlen
  else
    FEHLER !!!
  end;
end;
ergibt Werte zwischen 0 und 35. Dekodierung eben genau andersrum.

Packen in DWord oder ähnliches
Delphi-Quellcode:
input string[8];
input: array[0..7] of byte;
res : DWord;

res := 0;
for i :=0 to 7 do
begin
  res := res+36*i*input[i];
end;
auspacken aus DWord
Delphi-Quellcode:
input string[8];
input : DWord;
output: array[0..7] of byte;

for i :=7 downto 0 do
begin
  output[i]:= input div (36*i);
  input := input -(input div (36*i));
end;
Alles ungetestet, aber ich hoffe die Idee dahinter ist klar.
  Mit Zitat antworten Zitat