現在の経過時間を返すメソッドを持つ特定のクラスを使用しているアプリケーションがあります。
unsigned long long getCurrentElapsedTime(){
}
Unsigned long long
一定時間(約1時間)実行した後にラップ(博覧会形式に変更)するfloat
ため、上記のクラスの代わりに使用されます。float
以前はfloat
、プログラムに秒(1.112、1.336など)を返すクラスのメソッドを使用していました。
float getElapsedTime(){
}
私は次のように私のプログラムで上記の方法を使用していました:
float startTime, deltaTime;
starttime = getElapsedTime();
On Some event
deltaTime = getElapsedtime() - startTime;
if(deltaTime > 1.0f){
//do something
}
私は今、長い間ラップされていない整数をgetCurrentElapsedTime()
返すこのメソッドを持っています。アプリケーションでfloatを使用したのと同じ方法でこのメソッドを使用する必要がありますが、指数形式の数字を取得しないように変換する方法がわかりませんunsigned long long
。私のアプリケーションでは、以前は次の形式の数字(1.123、2.345、3.737など)を使用していました。unsigned long long
float
float
非常に長いunsigned long long
数をfloatに変換しようとすると、おそらく同じ問題が再び発生します(floatはexpo形式になります)。この問題に対処するにはどうすればよいですか。unsigned long long
ラッピングの問題に陥ることなく変換できる小数の類似したものはありますか?