3

Pythonで1秒未満の精度でタイムスタンプをキャプチャしたい。標準的な答えはint(time.time() * 1000)

ただし、time.time()フロートを返す場合は、精度に問題はありませんか?フロートとして正確に表されない値がいくつかあります。

フロートとして正しく表されない小数部の時間が心配で、その場合、タイムスタンプが前後にジャンプします。

それは有効な懸念事項ですか?

もしそうなら、回避策は何ですか?

4

1 に答える 1

3

どのくらいの精度が必要ですか?有限の2進数の小数として表現できない有限の小数があることは事実ですが、143千年の間実行されているプログラムのタイミングをとらない限り、最も近い概算値は正しい整数ミリ秒に丸められます( 2 ** 52ミリ秒)。

つまり、このために浮動小数点の精度について心配する必要はないと思います。ただし、システムタイマーの精度、精度、または単調性について心配する必要がある場合があります。

于 2012-11-08T00:53:02.393 に答える