Drehen, ganze Zahlen und Wörter


Dieser Artikel wurde ursprünglich auf delphi3000.com gepostet.
Manchmal ist es Nessescary, die Bytes einer Ganzzahl zu machen. Dies ist bekannt als big-Endian/little-Endian-Problem und tritt auf, wenn Sie Daten von einem Computer mit einem anderen Bytereihenfolge erhalten:
Einige Maschinen ordnet Bytes von links nach rechts.
Anderen arrangiert sie von rechts nach links.
Delphi hat eine Funktion namens swap(), die Ganzzahlen können umgesetzt. Aber hier sind einige Beispiele wie es selbst zu tun.
Drehen einen Smallint (16 Bit unterzeichnet)
i16-Funktion (ich: Smallint): Smallint;
var
X 1: Smallint;
X 2: [0.. 1] Array von Byte absolute X 1;
X 3: absolute Byte-Array [0.. 1];
beginnen
X 2 [0]: = X 3 [1];
X 2 [1]: = X 3 [0];
Ergebnis: = X 1;
Ende;
Drehen ein Wort (16 Bit ohne Vorzeichen)
r16-Funktion (ich: Wort): Wort;
var
X 1: Wort;
X 2: [0.. 1] Array von Byte absolute X 1;
X 3: absolute Byte-Array [0.. 1];
beginnen
X 2 [0]: = X 3 [1];
X 2 [1]: = X 3 [0];
Ergebnis: = X 1;
Ende;
Drehen ein Longint (32bit unterzeichnet)
r32-Funktion (ich: Longint): Longint;
var
X 1: Longint;
X 2: absolute X 1; Byte-Array [1..4]
X 3: absolute Byte-Array [1..4];
beginnen
X 2 [1]: = X 3 [4];
X 2 [2]: = X 3 [3];
X 2 [3]: = X 3 [2];
X 2 [4]: = X 3 [1];
Ergebnis: = X 1;
Ende;
Siehst du das Muster?









Drehen, ganze Zahlen und Wörter


Drehen, ganze Zahlen und Wörter : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Dieser Artikel wurde ursprünglich auf delphi3000.com gepostet.
Manchmal ist es Nessescary, die Bytes einer Ganzzahl zu machen. Dies ist bekannt als big-Endian/little-Endian-Problem und tritt auf, wenn Sie Daten von einem Computer mit einem anderen Bytereihenfolge erhalten:
Einige Maschinen ordnet Bytes von links nach rechts.
Anderen arrangiert sie von rechts nach links.
Delphi hat eine Funktion namens swap(), die Ganzzahlen können umgesetzt. Aber hier sind einige Beispiele wie es selbst zu tun.
Drehen einen Smallint (16 Bit unterzeichnet)
i16-Funktion (ich: Smallint): Smallint;
var
X 1: Smallint;
X 2: [0.. 1] Array von Byte absolute X 1;
X 3: absolute Byte-Array [0.. 1];
beginnen
X 2 [0]: = X 3 [1];
X 2 [1]: = X 3 [0];
Ergebnis: = X 1;
Ende;
Drehen ein Wort (16 Bit ohne Vorzeichen)
r16-Funktion (ich: Wort): Wort;
var
X 1: Wort;
X 2: [0.. 1] Array von Byte absolute X 1;
X 3: absolute Byte-Array [0.. 1];
beginnen
X 2 [0]: = X 3 [1];
X 2 [1]: = X 3 [0];
Ergebnis: = X 1;
Ende;
Drehen ein Longint (32bit unterzeichnet)
r32-Funktion (ich: Longint): Longint;
var
X 1: Longint;
X 2: absolute X 1; Byte-Array [1..4]
X 3: absolute Byte-Array [1..4];
beginnen
X 2 [1]: = X 3 [4];
X 2 [2]: = X 3 [3];
X 2 [3]: = X 3 [2];
X 2 [4]: = X 3 [1];
Ergebnis: = X 1;
Ende;
Siehst du das Muster?


Drehen, ganze Zahlen und Wörter

Drehen, ganze Zahlen und Wörter : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Drehen, ganze Zahlen und Wörter
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung