gpt4 book ai didi

c# - float 计算精度 : division vs multiplication

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:21 25 4
gpt4 key购买 nike

我遇到过这个矢量/标量除法实现:

public static Vector2 operator /(Vector2 value1, float divider)
{
float factor = 1 / divider;
value1.X *= factor;
value1.Y *= factor;
return value1;
}

我尝试通过简单的除法实现它:

public static Vector2 operator /(Vector2 value1, float divider)
{
return new Vector2(value1.X / divider, value1.Y / divider);
}

我尝试运行模拟,结果似乎略有不同。

这是提高计算精度的某种技巧吗?

最佳答案

不,这只是为了让它更快,因为乘法通常比除法快。

Should I use multiplication or division?

1 个除法和 2 个乘法与 2 个除法可能并不总是更快,但这几乎可以肯定是原因。

如果向量是 3 维或更多维,我会更相信它是值得的,但始终会针对这些微优化进行分析。

额外操作的舍入误差导致不同的结果。

关于c# - float 计算精度 : division vs multiplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com