Delphi-PRAXiS
Seite 16 von 22   « Erste     6141516 1718     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Positive Zahlen in negative umwandeln (https://www.delphipraxis.net/123215-positive-zahlen-negative-umwandeln.html)

smallsmoker 31. Okt 2008 16:27

Re: Positive Zahlen in negative umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
@#148 das mit dem decompilen ging ja wohl eher in die hose oder ? :P
ich poste mal dann doch die source.

€: merke grad das ich das wort "negieren" verwendet habe was irreführend sein könnte denn wir machen die zahl ja nur negativ ...

Der.Kaktus 31. Okt 2008 16:54

Re: Positive Zahlen in negative umwandeln
 
Also ich wuerde hier so einige Varianten mal bei Codegear(em...) vorlegen..vielleicht koennen die sie in die naechste Version implementieren! :-D

Dax 31. Okt 2008 16:57

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von sirius
Zitat:

Zitat von divBy0
Wenn die Zeile lang genug ist... :-D :-D :-D

Ich meinte "eine Zeile" == "ein Befehl"

"DROP DATABASE kunden_db" *G*

DeddyH 31. Okt 2008 16:57

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von Der.Kaktus
Also ich wuerde hier so einige Varianten mal bei Codegear(em...) vorlegen..vielleicht koennen die sie in die naechste Version implementieren! :-D

Die schicken uns höchstens so schicke weiße Jacken mit Schleife auf dem Rücken :lol:

Missionar 31. Okt 2008 17:13

Re: Positive Zahlen in negative umwandeln
 
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;

Khabarakh 31. Okt 2008 17:13

Re: Positive Zahlen in negative umwandeln
 
Kommt Leute, es kann doch nicht sein, dass wir alle unsere Kreativität für ein Problem verschwenden. Für unser aller Wohl habe ich mal einen Webservice erstellt, der uns die harte Arbeit abnimmt. Er basiert auf alzaimers wunderschöner Rekursion und meiner Tail-Call-Verbesserung.
Interaktiv testbar unter http://honoghr.de/Services/NegateService.asmx

DeddyH 31. Okt 2008 17:16

Re: Positive Zahlen in negative umwandeln
 
Jetzt läuft es völlig aus dem Ruder :shock:. Der Nächste versucht dann, ein Patent für das Negieren anzumelden.

MaBuSE 31. Okt 2008 17:19

Re: Positive Zahlen in negative umwandeln
 
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 ;-)

Der.Kaktus 31. Okt 2008 18:04

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von Der.Kaktus
Also ich wuerde hier so einige Varianten mal bei Codegear(em...) vorlegen..vielleicht koennen die sie in die naechste Version implementieren! :-D

Die schicken uns höchstens so schicke weiße Jacken mit Schleife auf dem Rücken :lol:

Loool Deddy...koennte sein :cheers:

Matze 31. Okt 2008 18:16

Re: Positive Zahlen in negative umwandeln
 
@Sebby: Toller Dienst. *g*

Zitat:

System.OutOfMemoryException: Eine Ausnahme vom Typ System.OutOfMemoryException wurde ausgelöst.
Edit: bzw:

Zitat:

System.OutOfMemoryException: Eine Ausnahme vom Typ System.OutOfMemoryException wurde ausgelöst.
bei <StartupCode$NegateLib>.$Module1.clo@7T.Invoke(Fas tFunc`2 cont, Int32 _arg1) in C:\Users\Kha\Documents\Tests\NegateService\NegateL ib\Module1.fs:Zeile 9.
bei NegateService.NegateService.Negate(Int32 i) in C:\Users\Kha\Documents\Tests\NegateService\NegateS ervice.asmx.cs:Zeile 23.
Bei EIngabe von "233454554", wohlgemerkt ist das innerhalb des Int32-Bereichs.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
Seite 16 von 22   « Erste     6141516 1718     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz