Dann will ich mal nicht so sein und eine hochoptimierte Pascalversion zur Verfügung stellen. Das besondere hierbei ist, dass man zudem die Genauigkeit der Negation vorgeben kann. Leider nicht ganz so optimal, da hier die Eingabe - Verarbeitung - Ausgabe leider nicht in verschiedenen Routinen vorliegt. Aber vielleicht hilft es ja Lars Wiltfang.
Delphi-Quellcode:
PROCEDURE TForm1.bRechneClick(Sender: TObject);
CONST
Genauigkeit = 100000;
VAR
eZahl, aZahl: double;
ix: integer;
BEGIN
//Eingabe zur Verfügung stellen
eZahl := StrToFloatDef(eeingabe.Text, 0);
//berechnen der hochkomplexen Negation
aZahl := abs(eZahl) * Genauigkeit;
FOR ix := 0 TO trunc(aZahl) * Genauigkeit DO //Genauigkeit mit 5 Stellen nach dem Komma
aZahl := aZahl - 1;
aZahl := aZahl / Genauigkeit;
aZahl := abs((abs(aZahl) - abs(eZahl))) + aZahl;
//Ausgabe zur Verfügung stellen
eAusgabe.Text := FloatToStr(aZahl);
END;