Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#13

AW: Vorzeichenbehaftete Zahlen und Endianess

  Alt 22. Jul 2020, 16:28
Ich habe Swap immer für Word gebraucht, und dann die Hilfe gelesen. 2. und 3. Byte bei Integer? Wird seinen Grund haben, aber was zum Teufel bedeutet das in der Praxis?
Swap kommt ja noch aus der 16-Bit Welt, wo Integer eben nur 16-Bit hatten.

Das 2. und 3. Byte bezeichnen in diesem Zusammenhang aber eben die Lo-Bytes. Swap vertauscht in dem Integer die beiden niedrigen Bytes, als wäre es ein Word. Insofern ist das Verhalten schon konsistent. Die Nummerierung der Bytes bezieht sich offenbar auf das verlinkte Beispiel.

Delphi-Quellcode:
var
  X: Integer;
begin
  X := $A0B1C2D3;
  Assert(Swap(X) = $A0B1D3C2);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat