On 24 March 2015 at 14:47, Ward, Mike S <[email protected]> wrote:
> I will try all of the suggestions. Thanks you all very much, and I didn't 
> realize it was in micro seconds. Thanks for that info.

The clock is NOT in microseconds. Bit position 51 counts microseconds,
so the rightmost bit in position 63 counts a much smaller unit of
time. (How many bits to the right of bit 51 are actually incremented
is documented to be model dependent, and some of those bits may be
arbitrarily set for other reasons described in the POO. In theory a
given model could even have a clock with worse precision than
microseconds, in which case bit 51 would still count microseconds, but
might not be updated as often as every microsecond. In practice, that
ain't gonna happen on current hardware.)

BTW, since bit position 31 counts units of 1.048576 (= 2**20/1000000)
seconds, for some purposes just treating the left half of the clock as
though it represented seconds may be "good enough". If you want to do
something like "wait about 5 seconds before prompting the user again",
then it probably is. But errors caused by doing this can accumulate,
and it's not much work to do it the right way.

Tony H.

Reply via email to