【发布时间】:2017-06-05 07:18:45
【问题描述】:
a[8] 是一个布尔数组。我正在尝试计算如下所示的布尔表达式。
bool a[8];
.....
bool result=a[0]*(a[3]+a[6]*(a[4]+a[7]*a[5]))+a[1]*(a[6]*a[3]+a[4]+a[7]*a[5])+a[2]*(a[5]+a[7]*(a[4]+a[6]*a[3]));
表达式很长,但在概念上并不复杂。唯一的错误是,当我将表达式中的 * 替换为 && (在这两种情况下我都期望逻辑与)或将 + 替换为 || 时,结果似乎不同。 (期望逻辑或)。
我不确定哪些是正确的,布尔运算符或乘法、加法等的数学符号。更糟糕的是,没有一个给出任何错误,即编译器对两者都很满意。哪一种更安全、更正确?
【问题讨论】:
-
@EdHeal:请在答题区写下答案。
-
因其引人入胜的独特性而受到赞誉。
标签: c++ boolean operators boolean-expression boolean-operations