og tal og ord

, denne artikel blev udsendt til delphi3000. kom, nogle gange er det nessescary at vende bytes i hele tal.det er kendt som den store endian /lille endian problem, og opstår, når du modtager data fra en maskine med en byte rækkefølge:,,, nogle maskiner arrangerer bytes fra venstre til højre.,, andre arrangerer dem fra højre mod venstre.,,, delphi har gennemført en funktion til swap(), som kan forvandle hele tal.But here are some examples on how to do it yourself.,,, //Turning a smallint (16 bit signed),, function i16( i : smallint ) : smallint;,, var,, x1 : smallint;,, x2 : array[0..1] of byte absolute x1;,, x3 : array[0..1] of byte absolute i;,, begin,, x2[0] := x3[1];,, x2[1] := x3[0];,, result := x1;,, end;,,, //Turning a word (16 bit unsigned),, function r16( i : word) : word; , ,, var,, x1 : word;,, x2 : array[0..1] of byte absolute x1;,, x3 : array[0..1] of byte absolute i;,, begin,, x2[0] := x3[1];,, x2[1] := x3[0];,, result := x1;,, end;,,, //Turning a longint (32 bit signed),, function r32( i : longint) : longint;,, var,, x1 : longint;,, x2 : array[1..4] of byte absolut x1,,, x3: array - [1 - 4] af byte absolut i, begynder,, ·: [1] = x3 [4],, ·: [2] = x3 [3], x2 [3] = x3 [2], x2 [4]: = x3 [1], resultat: = x1,,,,,,, kan du se mønstret?,,,



Previous:
Next Page: