用浮子的双划分

Division of double with a float

本文关键字:划分      更新时间:2023-10-16

我对double和float之间的精确性和速度有疑问。

例如:

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

如果B是两倍,结果会更改吗?如果不是双打(由于更改浮子的大小以适合双重大小),是否需要更多时间来计算它们?

从浮点转换为double或double到float之间的时间差确实可以忽略不计

查看此链接,它肯定会为您提供帮助。

如果b是双重的,结果会更改吗?

由于值为0.5,因此结果不应更改。如果是一个不同的值,它可能会改变,因为double具有更好的精度。

如果不是双打,是否需要更多时间来计算它们?

是的,它确实如此。但是可以真正忽略从浮点转换为双倍的时间。

您是否尝试过?无论如何,b在分区期间被转换为double。浮点划分很昂贵,浮子划分所花费的时间稍快。