Problem podczas planowania zadań za pomocą funkcji clock ()

Chciałbym zaplanować zadania w różnych przedziałach czasowych: na 0,1 s, 0,9 s .... 2 s itd. Korzystam z funkcji zegara () C ++, która zwraca liczbę znaczników od początku symulacji i konwertuję liczbę znaczników na sekund przy użyciu CLOCKS_PER_SEC, ale zauważyłem, że zadanie nie jest zaplanowane, gdy chwila jest zmiennoprzecinkowa, ale gdy jest to liczba całkowita, to robi. Oto część kodu odpowiedzialnego za planowanie:

float goal = (float) clock() / CLOCKS_PER_SEC + 0.4 ;  // initially (float) clock() / CLOCKS_PER_SEC = 0 ; 
if ((float) clock() / CLOCKS_PER_SEC == goal) 
     do stuff ; 

W takim przypadku nie działa, ale kiedy zaplanuję zadanie, które ma zostać wykonane w ciągu 3 sekund, na przykład działa. Czy to problem precyzji?

questionAnswers(3)

yourAnswerToTheQuestion