我想知道以下几点:我有一个将浮点数作为输入并在计算后返回浮点数的方法。计算可能涉及加法、除法、对数、幂等。这样做时,中间结果需要存储多次。像这样疯狂的东西:
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
吗?答案是否可能因编程语言而异?