Zeitmessung - Erklärung !!!
-
Hallo Leute,
ich habe zur Zeitmessung das hier gefunden:
https://www.c-plusplus.net/forum/220704-full
Das klappt auch ganz gut, nur hätte ich dazu eine Frage, die ihr mir hoffentlich erklären könnt.
Diese Stelle hier erschließt sich mir nicht ganz richtig:
if (ns >= 10000) { ns /= 1000; ext = "us"; } if (ns >= 10000) { ns /= 1000; ext = "ms"; } if (ns >= 10000) { ns /= 1000; ext = "s"; }
Da sind drei if's, die immer abfragen, ob ns größer gleich 10000 ist, um die Einheit zu finden.
Aber warum sind die if's identisch ?
Also wie wird herausgefunden, ob es ms, s oder ns sind, wenn immer mit 10000 verglichen wird ....Ich hoffe ihr könnt mir helfen, dies zu verstehen
Vielen Dank schonmal
-
ns wird ja gegebenenfalls verändert, wenn eine der if-Bedingungen anschlägt. Daher ist die mehrfache Abfrage sinnvoll.
-
Hallo,
ah, okay ... ich glaube da ist gerade der Groschen gefallen
Wir sind ja in C++
Das heißt, dass die Abfragen sequentiell abgearbeitet werden.Es wird in ns umgewandelt und wenn dieser Wert immernoch größer als 10000 ist, wird er zu ms umgewandelt und ist dieser wiederum immernoch größer als 10000, wird es nochmal umgerechnet zu s.
Hab ich das richtig verstanden ???
-
Ja.
-
Klasse, manchmal brauch mal einen Anstoß, um das Offensichtliche auch selbst zu sehen
Vielen Dank