3

これが「論理演算子101」のような質問である場合は申し訳ありません。画面を15分間見つめ、頭を包み込もうとしていますが、行き詰まっています。

以下を表現するためのより簡潔でエレガントな方法はありますか(これはJavaScript構文ですが、言語に依存する質問ではありません):

if (!something && !something_else) {
  // do something
}

いくつかの実験に基づくと、これは論理的に同等ではないようです。

if (!(something && something_else) {
  // do something
}

さらに、このような質問についてさらに研究するために、誰かがオンラインリソースを推奨できますか?この種のことはコンピュータサイエンスのカリキュラムで抽象的なレベルでカバーされていると思います。それは私のプログラミング知識の本質的なギャップであり、私が本当に埋めたいと思っています。ありがとう!

4

4 に答える 4

11
(Not A) And (Not B)

と同等です:

Not (A Or B)

これは、ド・モルガンの法則の適用です

于 2010-07-05T03:58:18.560 に答える
3

適切な式は次のとおりです。

if (!(something || something else)) {
  // do something
}

否定を適用すると、演算子がANDとORの間で切り替わります。

于 2010-07-05T03:59:41.643 に答える
3

私はあなたが必要だと思います

if (!(something || something_else)) {
  // do something
}

!something &&!something_elseは、「どちらでもない、またはどちらでもない」を意味します。これは、「どちらでもない(somethingまたはsomething_else)」と同等です。

于 2010-07-05T04:01:46.573 に答える