我正在重构旧代码并遇到了几个过于复杂和冗长的IF条件,我确信它们可以简化。我的猜测是,由于后来的修改,这些条件增长了很多。
无论如何,我想知道你们中是否有人知道我可以使用一个好的在线简化器。我对任何特定的语言都不感兴趣,只是一个简化的例子:
((A OR B)AND(!B AND C)或C)
并给我一个表达式的简化版本,如果有的话。
我看过其他类似的问题,但没有人指出一个好的简化器。
感谢。
答案 0 :(得分:89)
您可以根据您的输入尝试Wolfram Alpha,如本例所示:
答案 1 :(得分:16)
尝试Logic Friday 1
它包括来自加利福尼亚大学(Espresso和misII)的工具,并使它们可以与GUI一起使用。您可以根据需要输入布尔方程和真值表。它还具有图形门图输入和输出。
最小化可以进行两级或多级。两级形式产生最小化的产品总和。多级表单创建一个由逻辑门组成的电路。门的类型可以由用户限制。
您的表达式简化为C
。
答案 2 :(得分:5)
我发现The Boolean Expression Reducer比Logic Friday更容易使用。此外,它不需要安装,并且是多平台(Java)。
同样在Logic Friday中,表达式A | B
只返回真值表中的3个条目;我期待4.