|
分類:[.NET 全般]
VB2015を使っています。 Now関数で取得できる時間の精度に関して教えてください。
例えば、 180 ミリ秒おきにNow関数を実行して、 時間を配列に格納したとします。
Now関数は10^-7秒の精度で値を格納されています。 ただし、実際には1ミリ秒程度の精度しかないことは理解しています。
それぞれの配列の間で差分をとると以下のような値を取得することができます。
179.5466 180.0660 179.5455 180.0435 180.0453 180.1031 180.0482
179.5と180.0ミリ秒ばかりになっており、 最初の4桁は相関があるように見えます。 しかし、180.1と箇所もあり、そうではないところあります。
最後の3桁は完全にランダムのように見えます。
このようにして得られる値の法則性を知りたいのですが、 どのようなアルゴリズムで現在時刻を取得しているのでしょうか? なぜおよそ0.5ミリ秒刻みのように見えるのでしょうか?
ちなみに、他の周期で取得すると0.5ミリ秒ではなく、別の周期になったりします。
|