Autor Thema: Overflow bei Moduloberechnung  (Gelesen 1592 mal)

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Overflow bei Moduloberechnung
« 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Overflow bei Moduloberechnung
« Antwort #1 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

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Overflow bei Moduloberechnung
« Antwort #2 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?  ;)
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Overflow bei Moduloberechnung
« Antwort #3 am: 26.10.05 - 17:22:41 »
Gibt coole Wechselkurse: 1 Pfund Sterling = 1 Pfund Bananendollar.

Bernhard  ;D

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Overflow bei Moduloberechnung
« Antwort #4 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? ;)
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Overflow bei Moduloberechnung
« Antwort #5 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.
Gruß
Dirk

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Overflow bei Moduloberechnung
« Antwort #6 am: 27.10.05 - 07:50:29 »
Wobei ich jetzt nicht weiss, ob die Formelsprache besser mit so grossen Werten umgehen kann.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: Overflow bei Moduloberechnung
« Antwort #7 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

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Overflow bei Moduloberechnung
« Antwort #8 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.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz