Delphi-PRAXiS
Seite 20 von 22   « Erste     10181920 2122      

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)

Dax 3. Nov 2008 13:02

Re: Positive Zahlen in negative umwandeln
 
Klar, siehe #173 ;)

grizzly 3. Nov 2008 13:16

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von franktron
... Damit man dies Rechenaufgabe unterhalb 1 Woche berechnen kann :wink:

Gerade bei so rechenintensiven Aufgaben sollte man dann halt die Ansprüche runterschrauben und mit einer Näherung zufrieden sein. Der folgende Code wird im Schnitt immer schneller, je ungenauer (je größer epsilon) das Ergebnis sein darf:
Delphi-Quellcode:
FUNCTION TurboNegativate(Number: integer; Epsilon: double): double;
BEGIN
  Randomize;
  Number := Abs(Number);
  REPEAT
     Result := -(MaxLongint*Random);
  UNTIL Abs(Number-Result) < Epsilon;
END;
Ein zusätzlicher Vorteil ist die nicht vorhersagbare Laufzeit, was für den Einsatz in der Kryptographie von Vorteil ist: Angriffe basierend auf dem Laufzeitverhalten der Software sind von vorneherein zum Scheitern verdonnert.

Genauigkeits-Fanatiker sollten sich allerdings ein negatives Epsilon verkneifen. Das Ergebnis wird zwar noch genauer, aber die Wartezeit erhöht sich dann doch leicht auch mal über eine Woche... ;)

Gruß
Michael

fishbrain 3. Nov 2008 13:35

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von grizzly
Zitat:

Zitat von franktron
... Damit man dies Rechenaufgabe unterhalb 1 Woche berechnen kann :wink:

Gerade bei so rechenintensiven Aufgaben sollte man dann halt die Ansprüche runterschrauben und mit einer Näherung zufrieden sein. Der folgende Code wird im Schnitt immer schneller, je ungenauer (je größer epsilon) das Ergebnis sein darf:
Delphi-Quellcode:
FUNCTION TurboNegativate(Number: integer; Epsilon: double): double;
BEGIN
  Randomize;
  Number := Abs(Number);
  REPEAT
     Result := -(MaxLongint*Random);
  UNTIL Abs(Number-Result) < Epsilon;
END;
Ein zusätzlicher Vorteil ist die nicht vorhersagbare Laufzeit, was für den Einsatz in der Kryptographie von Vorteil ist: Angriffe basierend auf dem Laufzeitverhalten der Software sind von vorneherein zum Scheitern verdonnert.

Genauigkeits-Fanatiker sollten sich allerdings ein negatives Epsilon verkneifen. Das Ergebnis wird zwar noch genauer, aber die Wartezeit erhöht sich dann doch leicht auch mal über eine Woche... ;)

Gruß
Michael

ich glaub nicht , dass das klappt. weil -- plus ist und dann rauskommt result = number nicht result = - number
also :

Delphi-Quellcode:
FUNCTION TurboNegativate(Number: integer; Epsilon: double): double;
BEGIN
  Randomize;
  Number := Abs(Number);
  REPEAT
     Result := -(MaxLongint*Random);
  UNTIL Abs(Number+Result) < Epsilon;
END;

grizzly 3. Nov 2008 13:48

Re: Positive Zahlen in negative umwandeln
 
Na toll, ich bin ja schon total verkalkt :oops:

Natürlich, da muß ein Plus hin.
Ich sollte mir abgewöhnen, ungetestete Software rauszugeben. Vielleicht sollten wir erst mal eine Test-Umgebung für diese Aufgabe entwerfen, bevor wir uns ans Lösen derselben machen...

Gruß
Michael

fishbrain 3. Nov 2008 15:22

Re: Positive Zahlen in negative umwandeln
 
Du könntest ja n thread aufmachen "Zahl zur gleichen Zahl" und dort deinen code posten ;)

MaToBe 3. Nov 2008 19:43

Re: Positive Zahlen in negative umwandeln
 
lol

ich wusste garnicht das ihr so spamen könnt ... wo ihr doch sonst immer so schrecklich ernst seit :D

mkinzler 3. Nov 2008 19:47

Re: Positive Zahlen in negative umwandeln
 
Es handelt sich hier doch um eine ernste Sache :stupid:

MaToBe 3. Nov 2008 19:53

Re: Positive Zahlen in negative umwandeln
 
xD find ich irgendwie toll was hier abgeht ^^

sollte öffter vorkommen =P

PS: Schau ma da, wollt das heut eigentlich fertig bekommen ... http://www.delphipraxis.net/internal...592&highlight=

hathor 3. Nov 2008 20:03

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von franktron
Kann mal einer ein Prog. machen das die Berechnung von Positiver Zahl in eine Negative auf 32 Core laufen lassen kann, Damit man dies Rechenaufgabe unterhalb 1 Woche berechnen kann :wink:

Klar, siehe #170. Läuft auf UNENDLICH VIELEN CORES...

Dax 3. Nov 2008 20:09

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von MaToBe
PS: Schau ma da, wollt das heut eigentlich fertig bekommen ... http://www.delphipraxis.net/internal...592&highlight=

Refpushen ist auch nicht erwünscht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Seite 20 von 22   « Erste     10181920 2122      

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