我需要优化以下形式的表达式:
(a > b) || (a > c)
我尝试了几种优化形式,其中一种如下:
(a * 2) > (b + c)
优化不是从编译器的角度来看的。我想将两个 > 减少为一个。
这是基于 1 <= (a, b, c) <= 26 的假设
但是,这仅适用于某些情况。我正在尝试进行的优化真的可行吗?如果是,开始会很有帮助。
最佳答案
答案可能是:您不想对其进行优化。此外,我怀疑是否有任何方法可以更有效地编写它。如果你说 a、b 和 c 是 1 到 26 之间的值,那么如果你想要最佳(大小),你就不应该使用整数(你不需要那个精度)。
如果 a > b,表达式 a > c 无论如何都不会被执行。所以你最多有 2 个(至少 1 个)条件操作,这真的不值得优化。
关于c++ - 逻辑/关系表达式优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070881/