a [8]はブール値の配列です。私はブール式を次のように計算しようとしています。*と+はそれぞれ&&と||に相当します。 onブールオペランド?
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]));
表現は長いが概念的には何も複雑ではない。唯一のバグは、式の*を& &(いずれの場合も論理ANDが必要です)に置き換えるか、+を||に置き換えると結果が異なるようです。 (論理ORを期待する)。
どのようなものが正しいか、ブール演算子か、乗算、加算などの数学的な表記法はわかりません。何もエラーはありません。すなわち、コンパイラは両方に満足しています。どちらが安全で正しいですか?
@EdHeal:答えを回答エリアに記入してください。 –
まったく興味をそそられる特異性のためにアップアップされました。 – Bathsheba