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


  • Mod

    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 😃 😃 😃


Log in to reply