Den*_*Den 1 .net c# math floating-point floating-point-precision
我遇到过这个向量/标量划分实现:
public static Vector2 operator /(Vector2 value1, float divider)
{
float factor = 1 / divider;
value1.X *= factor;
value1.Y *= factor;
return value1;
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过简单的divison实现它:
public static Vector2 operator /(Vector2 value1, float divider)
{
return new Vector2(value1.X / divider, value1.Y / divider);
}
Run Code Online (Sandbox Code Playgroud)
我尝试运行模拟,结果似乎略有不同.
这是一种提高计算精度的技巧吗?
wes*_*ton 10
不,这只是为了让它更快,因为乘法通常比分频更快.
1分和2乘以2分可能并不总是更快,但几乎可以肯定.
如果向量是3维或更多维度,我会更加确信它是值得的,但总是对这些微观优化进行描述.
额外操作的舍入错误导致不同的结果.