Hmmm.... Delphi arbeitet doch mit dem Einerkomplement oder?
Wenn ich nun einen HEX-String habe von dem ich weiss das er eine Darstellung im Zweierkomplement ist muss ich das doch umrechnen:
Delphi-Quellcode:
procedure TDemoForm.Button1Click(Sender: TObject);
var
sHex:
string;
iDez: integer;
neg : boolean;
begin
sHex := '
$93E0';
iDez := StrToint(sHex);
neg := (iDez
AND $8000) = $8000;
dec(iDez);
iDez := iDez
XOR $FFFF;
if (neg)
then
iDez := iDEZ * -1;
showmessage(inttostr(iDez));
// ergibt 37856
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"