这个 if 语句的简化是什么?

What is the simplification of this if-statement?

boolean a,b;
if (!(a && b) && (a || b)) || ((a && b) || !(a || b))

是否存在执行此类简化的工具?

Wolfram alpha 将简化表达式

你的表达是同义反复。 真相table:

a | b | (¬(a&&b)&&(a||b))||(a&&b)||¬(a||b)
T | T | T
T | F | T
F | T | T
F | F | T

这永远是真的:(a || b) || !(a && b)

a b || !||
0 0 0   1
0 1 1   0
1 0 1   0
1 1 1   0

你也可以用 && 做同样的事情。

您可以让 gcc(如果您是 C/C++)来完成这些肮脏的工作。 (我不是建议写脏代码)