Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gruenkohl am 26.10.05 - 16:56:23

Titel: Overflow bei Moduloberechnung
Beitrag von: Gruenkohl am 26.10.05 - 16:56:23
Hallo zusammen,

ich bekomme bei folgender Rechnung eine "Overflow" angezeigt:

xy = 40867559636992 mod 187

Die Variable xy ist als Currency deklariert.
Auch wenn ich den Wert in einen String schreiben möchte bekomme ich den Fehler.

Kann Notes so große Zahlen nicht mit "mod" berechnen?  ???

Danke und Gruss
Andreas
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: koehlerbv am 26.10.05 - 17:13:15
Nur eine Vermutung: Der data type von Modulo ist Long. Es könnte sein, dass der für Zwischenschritte verwendet wird - und dabei wird er von Deiner Zahl "gesprengt".

Ich denke, man sollte (in allen Programmiersprachen) immer den "kleinsten gemeinsamen Nenner" (hier besser: Das schwächste Glied der Rechen-Kette) berücksichtigen.

Bernhard
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: Gandhi am 26.10.05 - 17:15:55
Currency? 40.867.559.636.992 ?
40 Billionen? Ist das irgendeine Anwendung zur Berechnung des deutschen Schuldenberges oder was  ;D
Welche Währung soll das sein? Bananendollar?  ;)
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: koehlerbv am 26.10.05 - 17:22:41
Gibt coole Wechselkurse: 1 Pfund Sterling = 1 Pfund Bananendollar.

Bernhard  ;D
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: Gandhi am 27.10.05 - 07:24:46
Ansonsten lässt sich modulo ja auch einfach selbst entwickeln

a=40000000000
d=187

while a>d
   a=a-d
wend

Dabei sollte selbst bei einem Fliesskommazahlentyp ein richtiger Wert herauskommen.


BTW: 187?

187 Leute wollen Fort Knox ausrauben in dem 40.000.000.000 $ in Gold liegen, nur ganze Dollar verteilen und von dem Rest eine Party schmeissen? Und daher musst Du jetzt den Modulo davon berechnen, weil Du für den Caterer programmierst? ;)
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: diali am 27.10.05 - 07:36:42
die Formelsprache ist da gefälliger.

xy = @Modulo(40867559636992;  187)

dies könnte jetzt mit Execute im Script ausgeführt werden.
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: Gandhi am 27.10.05 - 07:50:29
Wobei ich jetzt nicht weiss, ob die Formelsprache besser mit so grossen Werten umgehen kann.
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: Gruenkohl am 27.10.05 - 08:06:21
Moin, moin,

natürlich handelt es sich um keine Währung. Und ich wollte auch nicht den deutschen Schuldenberg berechnen.  ;D

Wollte mal das RSA-Verfahren testen.

Schau dann mal ob ich es anders gelöst bekomme.

Danke und Gruss
Andreas
Titel: Re: Overflow bei Moduloberechnung
Beitrag von: Gandhi am 27.10.05 - 08:27:53
Also für sowas ist natürlich sowohl Lotus Script als auch Formula gänzlich ungeeignet.
Überhaupt für eigentlich jegliche halbkomplexe Berechnung - weil die Performance dafür zu niedrig und die Zahlenspeicher zu klein sind.
Aber für den Alltag spielt das ja auch keine Rolle.