Um nochmal zum Thema zu kommen:
Hier eine "Komplexe" Lösung mit Varianten
Wobei der Aufruf von VarComplexSimplify es ja wieder simplifiziert - also einfach macht.
Delphi-Quellcode:
...
uses
VarCmplx;
function MyNeg(Zahl: Integer): Integer;
begin
Result := VarAsType(VarComplexSimplify(VarComplexCreate(Zahl)*VarComplexPower(VarComplexCreate(0,1), VarComplexCreate(2,0))), varInteger);
end;
...
gibt das gewünschte Ergebnis zurück.
Das ist zwar nicht so schnell wie
function asmNeg(Zahl: integer): integer; asm neg eax end;, funktioniert aber genauso gut.
und wer sagt mit Vatianten kann mann nicht rechnen