Step 7 Time -> DINT

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
19.470
Punkte Reaktionen
5.871

Heinileini

Well-known member
Beiträge
5.656
Punkte Reaktionen
1.280
Darf ich fragen wie du auf den Wert kommst -> rechen Weg
Darfst Du selbstverständlich!
Leider war der Wurm drin und ich hatte schon in Beitrag #3 den OchsenKarren total in den Dreck gefahren!
Ich bitte vielstmals um Entschuldigung, ein solches WirrWarr ausgelöst zu haben.
Gleichzeitig möchte ich mich für die vielen Reaktionen bedanken!

Ich hatte mit Excel-TabellenblattFunktionen gerechnet und Excel trifft keine Schuld.
Ich war so blöd/leichtsinnig, die Werte 86400000, 3600000 und 60000 direkt einzutippen und dabei ist mir der ZahlenDreher mit dem falschen Wert 84600000 gelungen.

Sooo. Zur Berechnung (diesmal hoffentlich ohne Fehler):
Ich hatte zunächst die grösste im DINT-Format darstellbare Zahl berechnet zu
2^31-1 = 2.147.483.647
und dann daraus
Ganzzahl(2.147.483.647 / 86.400.000) = 24 [d]
Rest = 2.147.483.647 - 24 * 86.400.000 = 73.883.647
Ganzzahl(73.883.647 / 3.600.000) = 20 [h]
Rest = 73.883.647 - 20 * 3.600.000 = 1.883.647
Ganzzahl(1.883.647 / 60.000) = 31 [min]
Rest = 1.883.647 - 31 * 60.000 = 23.647
Ganzzahl(23.647 / 1.000) = 23
Rest = 23.647 - 23 * 1.000 = 647 [ms]
also -> T#24D_20H_31M_23S_647MS

7200000ms / 3600000ms ergibt NICHT 2h (2 Stunden) sondern 2
Da hat Harald natürlich Recht, aber es wird ja nicht durch 3600000 ms dividiert, sondern durch 3600000 ms/h, denn eine Stunde hat nunmal 3600000 ms.
D.h. 7200000 ms / 3600000 ms/h und deshalb kommt auch wunschgemäss 2 h heraus, sobald man die ms herausgekürzt hat.
Die Zahlen (u.a.) in DINT sind natürlich dimensionslos ... die Dimension muss sich der Programmierer dazudenken und sie "im Auge behalten".

Harald war mal wieder schneller!
 

Heinileini

Well-known member
Beiträge
5.656
Punkte Reaktionen
1.280
Ich hatte die Darstellung von DINT-max als T# auch nochmal mit Excel nachgerechnet, so wie ich die Zerlegung in einem Programm machen würde.
Anhang anzeigen 65163

Harald
Es ist immer wieder überraschend, wie viele Wege nach Rom führen!
Nein, Harald, überrascht war ich nicht.
Du warst immerhin so clever, Excel 1000*60*60*24 ausrechnen zu lassen und es nicht auf einen AbtippFehler ankommen zu lassen! ;)
WIe man an Deinem Lösungweg sieht, hat es auch etwas für sich, die Zerlegung 'von rechts nach links' durchzuführen, statt 'von links nach rechts'. (y)
 
Oben