c++ - 逻辑/关系表达式优化

标签 c++ c expression logical-operators relational

我需要优化以下形式的表达式:

(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/

相关文章:

c++ - 构建 KleeNet 时出现“对 _M_hook 的 undefined reference ”错误

c - 命名管道不会在 C 程序中打开

hex - 带有十六进制数字的 Tcl 表达式?

c - printf 问题 - 不打印输入整数值

c - 哪些事件会导致 ferror 返回非零值?

c++ - 基于自动机的 re2 替代方案

c - 与负整数比较时忽略 for 循环条件

c++ - JPEG 哈夫曼表

c++ - 嵌套迭代器访问

c++ - 为返回的引用分配空间