Seite 1 von 1

Probleme mit Modulo [Erledigt]

Verfasst: Fr, 23. Sep 2016 12:21
von Jan
Hallo,

gerade stolpere ich über ein Problem mit einer Modulo-Berechnung für eine Barcode-Berechnung. Die betreffende Zeile lautet

Code: Alles auswählen

nCheckSum := nCheckSum % 103
Ich sehe im Debugger, das ich da mit nCheckSum = 1235 rein gehe. Wäre also 1235 / 103 = 11,990291262. Von daher sollte also nCheckSum nach dieser Zeile einen Wert von 99 haben. Das ist aber reproduzierbar immer 102.

Das funktioniert eigentlich immer korrekt. Nur in sehr seltenen Ausnahmefällen wie diesem jetzt nicht. Dabei nützt es auch nichts, wenn ich das Resultat der Berechnung nicht in die gleiche Variable zurück schreibe, sondern in eine andere.

System ist Windows 10 32 Bit und Xbase++ 2.0

Jan

Re: Probleme mit Modulo

Verfasst: Fr, 23. Sep 2016 12:49
von Tom
Nö. 11 x 103 ist 1133. 1235 - 1133 ergibt 102

Re: Probleme mit Modulo

Verfasst: Fr, 23. Sep 2016 14:52
von georg

Re: Probleme mit Modulo

Verfasst: Fr, 23. Sep 2016 15:08
von Jan
OK. Hab den Fehler gefunden. Mathe war schon immer ein schwaches Fach bei mir. Ansonsten hätte ich sofort gesehen, das der Fehler nicht in der Modulo-Berechnung lag sondern in der Berechnung der Checksumme des Barcodes. Der Schreiber des Codes hat das durch Wandlungen von Barcode-Positionen nach ASCII-Positionen und zurück ein wenig verkompliziert, und da kam es dann auch zu dem Fehler.

Danke für Eure Hinweise, die mich von dem Verrennen in die falsche Richtung zurückgeholt haben und so die Möglichkeit geschaffen haben, mal korrekte zu suchen.

Jan