Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ausgabe der Zeit (in ms) welche eine Procedur benötigt (https://www.delphipraxis.net/76993-ausgabe-der-zeit-ms-welche-eine-procedur-benoetigt.html)

himitsu 13. Sep 2006 12:29

Re: Ausgabe der Zeit (in ms) welche eine Procedur benötigt
 
Selbst wenn Windows schon über 49,7 Tage gelaufen ist, oder erst wärenddessen den prung über diese Grenze macht, so bekommt man bei der Division dennoch die Riochtige Diverenz raus, solange der Messzeitraum nicht selber länger dauert.

1000-900=100

50-4294967246=100

Man darf nur nicht mit Fließkommawerten, oder In64 rechnen ... innerhalb von LongWord/Cardinal gibt es dann wärend der Berechnung wieder einen Überlauf, welcher den vorherigen behebt :zwinker:

Luckie 13. Sep 2006 13:08

Re: Ausgabe der Zeit (in ms) welche eine Procedur benötigt
 
Nun ja, so viel zur geplanten Laufzeit und deren Folgen, wenn die nicht beachtet wird:
Zitat:

Golfkrieg, Februar 1991:
In Dhahran, Saudi-Arabien, konnte eine irakische Scud- Rakete nicht vom hochgelobten Patriot-Abwehrsystem abgefangen werden - sie schlug in ein US-Militärlager ein und tötete 29 und verwundete 97 US-Soldaten
Ursache: Die "Realzeit seit letztem Booten" der Software der Patriot-Rakete wurde in einer einfachgenauen Gleitkommazahl abgespeichert. Lief das System länger als 8 Stunden (etwa 30 Millionen ms), traten daher Genauigkeitsprobleme auf:
Nach 100 Stunden Laufzeit ergab der immer größer werdende Zeitfehler eine Abweichung in der Berechnung der Scud-Flugbahn um 678 m
Das Design der Software sah nur 14 Stunden Einsatz vor.
Also der Hinweis ist schon nicht falsch an dieser Stelle.

himitsu 13. Sep 2006 13:33

Re: Ausgabe der Zeit (in ms) welche eine Procedur benötigt
 
Zum Glück arbeitet hier keiner mit TDateTime/TTime (doppelte Genauigkeit), sondern mit 'nem netten vorzeichenlosen Integer (ohne Genauigkeitsprobleme) :angel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz