Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: friedolin am 18.11.04 - 14:44:00
-
hallo da draußen,
wie kann ich per script feststellen, ob der wert eine ungerade zahl ist, wenn ja, diesen dann um 1 erhöhen?
??? ??? ??? friedolin
-
Den Wert durch zwei teilen und dann prüfen, ob der Integerteil (oder Long, wenn das nicht ausreicht) gleich dem Ergebnis der Division ist.
HTH,
Bernhard
-
Mod 2 durchführen und prüfen ob das Ergebnis 0 ist.
Wenn nicht, dann ist die Zahl ungerade.
-
;D ;D ;D
danke torsten
-
Bitte nur mit Mod 2, das andere Verfahren ist unzuverlässig.
-
Bitte nur mit Mod 2, das andere Verfahren ist unzuverlässig.
Begründung und Beispiel, bitte.
-
Rundungsproblem, wird in der Literatur (Theoretische Informatik und Maschinentheorie) immer wieder belegt. Wenn immer eine interne Funktion zur Verfügung steht, soll diese verwendet werden. Es ist nun leider mal so, dass 2 und int(2) nicht immer gleich sind .... wurde andernorts im Zusammenhang mit Operationen schonmal intensiv diskutiert
-
Also kein Beleg, sondern weiter eine Behauptung ohne Beweis. Das hatten wir doch schon in dem Thread, den Du vermutlich meinst (@TextToNumber-Fehler in R6), gehabt. Wo ist der Beleg, das Mod korrekt programmiert wurde ?
Wobei aber Mod die elegantere Methode ist, die ich meinem Thread leider nicht bedacht habe.
Bernhard
-
Sorry, Bernhard, lies die Literatur, die ist voll von Belegen und übrigens auch von Beweisen, warum das nicht geht (in der Maschinentheorie vor allem). Und jeder neue Thread, der sich um Rundungsprobleme dreht, beweist es wieder von neuem ....... da mach ich bestimmt keinen weiteren Aufwand mehr.
-
Begründung und Beleg fehlen immer noch, Jens. Und das ganze handelst Du rein theoretisch ab. Du weisst auch nicht, nicht wie die LS-Engine das abhandelt - das steht nicht in den Büchern über Theoretische Informatik und Maschinentheorie, da steht "nur", wie es prinzipiell funktionieren könnte. Aber nix über die Umsetzung in LS oder der ND-Formelengine.
Nicht erst seit diesem Thread
http://www.atnotes.de/index.php?topic=18199.msg110723#msg110723
wissen wir, das auch Notes Probleme mit dem Rechnen hat - insbesondere in der Formelsprache. Die begründet auch keine graue Theorie - das ist dann nur eine Kaschierung. Diese Probleme kann man wohl auch den meisten anderen SW-Produkten nachsagen - mehr oder weniger offensichtlich (womit wir dann wieder bei der Theorie wären - aber erst an dieser Stelle !).
Ich schlage also vor, praktischer zu werden. Einfach eine simple Routine schreiben, die das angeforderte Verfahren im möglichen Zahlenraum durchspielt. Sind wenige Zeilen. Und es funktioniert mit beiden oben genannten Verfahren mit R5 und R6 im Bereich "Long".
Bernhard
-
Bernhard, hat nix mit der Implementation zu tun sondern mit der Endlichkeit der Prozessoren. Wie gesagt, lies die Literatur.
-
@Jens:
Ich lese gerne. Das Studium der theoretischen Bascis halte
ich für ein bestimmtes Level für unabdingbar.
Nicht nur wegen des schon erwähnten Threads
R6-Formel-Egine hat noch Rechenprobleme (http://www.atnotes.de/index.php?topic=18199.msg110723#msg110723)
zeigt aber erst die Praxis, wie gut die Theorie implementiert wurde.
Dein Verweis auf die Theorie ist für praktische Probleme meines Erachtens damit für die reale Welt nicht nur wenig, sondern gar nicht hilfreich. Wir sollten hier (versionsabhängig) lieber die problematischen Fälle zusammentragen. Die Alternative wäre ja: Der Computer kann prinzipiell nicht rechnen Iin letzter Konsequent stimmt es ja - vielleicht ...), aber sowas ist praxisfern bis zum Abwinken.
Bernhard