1

double と float の除算の精度と速度に疑問があります。

例えば:

double a;
a=myfun(); //returns a number with lots of decimals
float b=5.0;
double result=a/b;

b が double の場合、結果は変わりますか? double でない場合、計算に時間がかかりますか (double サイズに合わせて float のサイズを変更するため)?

4

3 に答える 3

2

float から double へ、または double から float への変換の時間差はごくわずかです。

このリンクをチェックしてください。きっと役に立ちます。

于 2012-10-24T08:36:19.367 に答える
1

b が double の場合、結果は変わりますか?

値は 0.5 なので、結果は変わらないはずです。double は float よりも精度が高いため、異なる値である場合は変更される可能性があります。

double でない場合、計算に時間がかかりますか?

はい、そうです。しかし、float から double に変換する時間は無視できます。

于 2012-10-24T08:34:44.503 に答える
0

これをやってみましたか?doubleとにかく、除算中にb に変換されます。浮動小数点の除算はコストが高く、浮動小数点の除算にかかる時間はわずかに高速です。

于 2012-10-24T08:33:45.423 に答える