Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Konvertierung von BigEndian-Werten

  Alt 23. Jul 2012, 14:16
Hallo zusammen,

ich muß BigEndian-Werte aus einer Datei auslesen und dann "normal" weiter verarbeiten.
Dafür nutze ich folgende Routine
Delphi-Quellcode:
type
  ta4 = array [0..3] of byte;
  tpa4= ^ta4;

function Big2Little32(ina:tpa4):integer;
begin
  result:=ina[3]+
          ina[2] shl 8+
          ina[1] shl 16+
          ina[0] shl 24;
end;
Für 24 und 16Bit-Werte existieren entsprechende Routinen.

Ist dieser Weg (nahezu) optimal oder gibt es einen besseren? ggf nur eine Routine für mehrere Größen(16,24,32...Bit)?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat