0

次のことについて疑問に思っています: float を入力として受け取り、計算後に float を返すメソッドがあります。計算には、足し算、割り算、対数、累乗などのようなものが含まれる場合があります。そうしている間、中間結果を数回保存する必要があります。このようなクレイジーなもの:

float performSomeComputations(float value)
{
    // addition, substraction, logarithms, multiplication, etcetera
    float a = value * 12.0;
    float b = math.pow(a, 34.0);
    float c = math.log10(b +  value - 567);
    return a + b + c;
}

私の質問は次のとおりです。中間結果をどのように保存するかは重要ですか? すなわちとしてfloatまたはとしてdouble?中間値が最小値および/または最大値を超えないと仮定しましょう。明らかに差が生じます。しかし、型が使用された場合、戻り値はより正確にdoubleなりますか、または最終的に にキャストされた後、常にまったく同じ答えが得られfloatますか? また、プログラミング言語ごとに答えが異なる可能性はありますか?

4

1 に答える 1