有没有更有效的方法来计算减法表达式的绝对值

本文关键字:表达式 绝对值 计算 有效 方法 有没有 | 更新日期: 2023-09-27 18:33:34

这个问题几乎说明了一切。目前,我正在使用Math.Abs(a - b)来计算减法表达式的绝对值,例如5 - 1010 - 5都返回5

有没有更有效的方法,或者这是最有效的方法?

有没有更有效的方法来计算减法表达式的绝对值

在你确切知道问题所在之前,请不要对代码进行微观优化。

您可以使用 MethodImplAttribute 实现一个自己的函数并使其成为内联函数,以降低函数调用的成本。

如果您使用的是 Int32 值,并且您的输入恰好不是边界值,则可以使用它

Abs(x) = (x ^ (x >> 31)) - (x >> 31)

但是我建议你忘记这一切,分析你的应用程序,你会发现真正的问题不在其他地方调用Math.Abs,你应该总是先让你的代码可读,然后在你证明它们确实是性能问题之后调整性能问题!

程序员浪费大量时间思考或担心 关于他们程序的非关键部分的速度,以及这些 效率的尝试实际上会产生强烈的负面影响,当 考虑调试和维护。我们应该忘记小 效率,比如说大约 97% 的时间:过早优化是 万恶之源。然而,我们不应该在这方面放过我们的机会。 临界 3%。
(DonaldKnuth的论文"StructuredProgrammingWithGoToStatement"(

请阅读此内容