ændre urets præcision

D

davyzhu

Guest
Hej alle,

Jeg bruger ur () til at måle den tid, omkostninger i mit program.
Men t_clock altid være gange af 10, for eksempel 10, 20, 30, 40, ...
Og jeg ønsker at få den præcision på 1, såsom 11, 12, 13, 14 ...
Hvordan kan jeg ændre t_clock's præcision?

Kode listen nedenfor:
//-----------------
# include <cstdio>
# include <fstream.h>
# include <ctime>

void main () (
int x;
clock_t t_click, t_start;

t_start = clock ();
for (x = 0; x <60; x ) (
printf ( "% d \ n", x);
)

t_click = clock () - t_start;
printf ( "Time Elapsed% d \ n", t_click);

)
//-------------------
BTW, jeg bruger VC6.0.Miljøet er P3 600MHz og WinXP.

Eventuelle forslag vil blive værdsat!

Venlig hilsen,
Davy

 
Jak zagrać w „World of Warcraft” na Linuksie, program do zarządzania e-bookami czy ezoteryczne języki programowania - to tylko niektóre z tematów poruszanych przez naszych blogerów. Zapraszamy do przeglądu bloga dobrychprogramów.

Zacznijmy od programów - w minionym tygodniu sporo wpisów poświęconych było tej tematyce. Dzięki tekstowi lucas__ dowiemy się, jak działa BlueDevil, czyli zasobnik...

Read more...
 
Dit eksempel kører næsten med det samme på mit system, og giver den værdien 0.

Du kan se en løsning på dit system multitasking-timer, som standard til et sted omkring 5 eller 10 eller 15 millisekunder.Du kan øge sin beslutning til 1ms ved at ringe til multimediefunktioner timeBeginPeriod () og timeEndPeriod ().

Stedet for at bruge ur (), prøv QueryPerformanceCounter () og QueryPerformanceFrequency ().Det har meget højere opløsning.
Kode:

# include <windows.h>

# include <stdio.h>int main (void)

(

int x;

LARGE_INTEGER t_start, t_stop, t_freq;

dobbelt t_click;QueryPerformanceFrequency (& t_freq);

QueryPerformanceCounter (& t_start);

for (x = 0; x <60; x )

printf ( "% d \ n", x);

QueryPerformanceCounter (& t_stop);t_click = (t_stop.QuadPart - t_start.QuadPart) / (double) t_freq.QuadPart;

printf ( "Tid forløbet% f \ n", t_click);

return 0;

)
 

Welcome to EDABoard.com

Sponsor

Back
Top