Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: MOD macht nicht was es sollte

  1. #1
    Registriert seit
    14.05.2007
    Ort
    M nähe Sbg in AUT
    Beiträge
    159
    Danke
    35
    Erhielt 1 Danke für 1 Beitrag

    Standard


    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
    >> Gefährlich wird es für Andere erst dann, wenn die Dummen fleißig werden! <<
    Zitieren Zitieren MOD macht nicht was es sollte  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    öhm, kleener, 23450 ist aber die richtige lösung
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Andy082 (21.11.2009)

  4. #3
    Avatar von Andy082
    Andy082 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.05.2007
    Ort
    M nähe Sbg in AUT
    Beiträge
    159
    Danke
    35
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ah, ich verstehe MOD falsch....

    Dachte ich erhalte hier quasi meinen Wert der Nachkommastelle.

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




    P.S.: was macht man um die Uhrzeit noch im Forum?
    >> Gefährlich wird es für Andere erst dann, wenn die Dummen fleißig werden! <<

  5. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Andy082 Beitrag anzeigen
    P.S.: was macht man um die Uhrzeit noch im Forum?
    verständnisse wieder ins rechte licht rücken

    die nachkommastelle erhälst du als quotienten wenn du den rest noch mal mit dem divisor dividierst
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #5
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von Andy082 Beitrag anzeigen
    ah, ich verstehe MOD falsch....

    Dachte ich erhalte hier quasi meinen Wert der Nachkommastelle.

    Danke, Verständnis wieder ins rechte Licht grückt.
    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.

  7. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    Andreas- (23.11.2009)

  8. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    @zottel: und wer soll das am ende wieder zusammensetzen? ... dann doch lieber eine dint->real-wandlung in kauf nehmen
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #7
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    @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.
    Zitat Zitat von vierlagig Beitrag anzeigen
    ... 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???
    Geändert von Zottel (21.11.2009 um 01:33 Uhr)

  10. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Zottel Beitrag anzeigen
    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.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #9
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    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.

  12. #10
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Zottel Beitrag anzeigen
    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

    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*
    Geändert von vierlagig (21.11.2009 um 01:59 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Any macht nicht, was er soll
    Von Ralle im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.04.2011, 21:09
  2. Ausgang macht nicht was er soll.
    Von Insane im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 29.04.2009, 10:53
  3. Was sollte ein elektroniker wissen =)
    Von Insane im Forum Stammtisch
    Antworten: 38
    Letzter Beitrag: 14.01.2009, 12:32
  4. Antworten: 17
    Letzter Beitrag: 30.09.2008, 07:14

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •