MOD macht nicht was es sollte

Andy082

Level-2
Beiträge
177
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Abend.

Bin neuerlich dabei mir einen Baustein zum Umrechnen von Sekunden in
Tage - Stunden - Minuten - Sekunden zu basteln.

Mein Problem beginnt jedoch bereits ganz am Anfang:

Ich lese mein DWORD mit den Sekunden ein und errechne mir durch die Division mit L#86400 die Anzahl meiner Tage.

Um den Rest meiner Umwandlung bestimmen zu können, benötige ich aus oben genannter Division den Rest. => MOD

Verwende ich zB: 455450/86400=5.271469907 so sollte nach der Anwendung des Befehls MOD in etwa 27147 in meinem AKKU stehen.
Tatsächlich aber erhalte ich 23450.

Kann mir bitte jemand auf die Sprünge helfen und erklären, was ich denn neuerlich übersehe?

mfg,
Andy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ah, ich verstehe MOD falsch....

Dachte ich erhalte hier quasi meinen Wert der Nachkommastelle.

Danke, Verständnis wieder ins rechte Licht grückt. :D




P.S.: was macht man um die Uhrzeit noch im Forum?
 
ah, ich verstehe MOD falsch....

Dachte ich erhalte hier quasi meinen Wert der Nachkommastelle.

Danke, Verständnis wieder ins rechte Licht grückt. :D
P.S.: was macht man um die Uhrzeit noch im Forum?
MOD liefert einfach den Rest der Division:
455450/86400= 5 Rest 23450.

Berechnung von Nachkommastellen:
23450 * 10= 234500
234500/86400= 2 Rest 61700 usw.
 
@zottel: und wer soll das am ende wieder zusammensetzen?

Wer mag. Oder: Niemand. Es ging ja nur darum, deutlich zu sagen was MOD tut und was das mit Nachkommastellen zu tun hat.
... dann doch lieber eine dint->real-wandlung in kauf nehmen

Mmmh..
31Bit DINT nach 23 Bit IEEE754 single...
Ein Sekundenzähler in DINT läuft nach 68 Jahren über, einer in REAL büßt bereits nach 97 Tagen die Sekunden-Einer ein.

Und wenn ich jetzt darstelle, was bei einer DINT-nach-REAL-Wandlung intern abläuft,...und wer soll das am ende wieder zusammensetzen, äähhh, nachvollziehen???
 
Zuletzt bearbeitet:
Mmmh..
31Bit DINT nach 23 Bit IEEE754 single...
Ein Sekundenzähler in DINT läuft nach 68 Jahren über, einer REAL büßt bereits nach 97 Tagen die Sekunden-Einer ein.

Und wenn ich jetzt darstelle, was bei einer DINT-nach-REAL-Wandlung intern abläuft,...und wer soll das am ende wieder zusammensetzen, äähhh, nachvollziehen???

ging es denn nicht nur um die nachkommastelle? da läuft nix über, höchstens das glas unterm zapfhahn nach erfolgreicher IBN und das ist nicht schlimm ...

der rest der division sollte IMHO immer in den REAL-wertebreich fallen ... habe es nicht nachgerechnet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Er will sich doch einen Baustein zum Umrechnen eines DINT-Sekundenzählers in Tage - Stunden - Minuten - Sekunden basteln.
Da nehme ich an, daß er das DINT auch voll nutzen können will. Und ganz schlimm, wenn man so einen Baustein schreibt, ihn eine Woche testet, für universell verwendbar hält, und dann fängt er nach 97 Tagen an zu "spinnen" !!!

Ich vermute, er braucht gar keine Nachkommastellen, a lá "123,4567 Tage". Er hat vielleicht nur MOD irgendwie damit assoziiert.
 
Er will sich doch einen Baustein zum Umrechnen eines DINT-Sekundenzählers in Tage - Stunden - Minuten - Sekunden basteln.
Da nehme ich an, daß er das DINT auch voll nutzen können will. Und ganz schlimm, wenn man so einen Baustein schreibt, ihn eine Woche testet, für universell verwendbar hält, und dann fängt er nach 97 Tagen an zu "spinnen" !!!

Ich vermute, er braucht gar keine Nachkommastellen, a lá "123,4567 Tage". Er hat vielleicht nur MOD irgendwie damit assoziiert.

verrückte welt, hatte die grundfragestellung komplett aus den augen verloren :rolleyes:

einen sekundenzähler also? hmm ... nach IEC würde eine solche funktion ja nur einen wert zurückgeben und das wären dann, dem namen entsprechend sekunden und schon ist der fisch geputzt ^^
nicht IEC aber S konform kann eine solche funktion dann mehr ausgeben, aber der überlauf wäre entsprechend der methode DINT MOD DINT -> REST->REAL REAL_REST/DIVISOR nicht gegeben und man könnte eben auch die "kommatage" ausgeben ... hier braucht man ja sowieso nen real-wert ...
aber das ist ja alles nur graue theorie, da mach ich doch lieber wochenende *prost*
 
Zuletzt bearbeitet:
Zurück
Oben