Perché la funzione clock () in C dall'header time.h restituisce solo tick di clock in incrementi di 10 di migliaia?

1

Sono curioso di sapere perché il function clock () restituisce solo i valori con incrementi di 10.000 e non è in grado di restituire valori in mezzo.

Ho il seguente codice:

#include<iostream>
#include<time.h>
#include<stdio.h>
using namespace std;

int main()
{
    int a;
    clock_t clock_start;
    time_t start1;
    time(&start1);
    clock_start = clock();

    for(int i=0;i<200000;i++)
        cout<<8;

    time_t end1;
    time(&end1);

    clock_t clock_end = clock();

    int b;
    printf("\n\n%d",end1-start1);
    printf("\nClock ticks ?? = %d",clock_end-clock_start);
    return 0;
}

Il risultato è 0 o 10.000

Non c'è una via di mezzo.

La stessa situazione sta accadendo anche se modifico il numero di iterazioni che il ciclo 'for' esegue. I valori sono anche multipli di 10.000

Qual è la ragione di questo comportamento e in quale caso si tratta di un caso pratico di utilizzo della funzione "orologio"? Sembra abbastanza inaffidabile per me.

    
posta yoyo_fun 12.10.2017 - 16:26
fonte

0 risposte

Leggi altre domande sui tag