64

C言語のテーブルtrue/false

C言語のand&&または||のテーブルがtruefalseであると聞いたことがあります。true + true=trueおよびfalse+true=falseの場合に彼らが言う数学の一種です

私はこれについてちょっと混乱していて、調査を試みましたが、テーブルが見つかりませんでした

私はC言語でもっとやることになるので、メモ用にこのテーブルが欲しいだけです。

誰かが私をサイトやリソースに連れて行って、これについてもっと説明してくれるなら


元の質問を編集して、自分の研究用のメモにしました。すばらしい参考資料を提供してくれた@thitonと、すばらしい回答/リソースを提供してくれた残りの人々に感謝します。

論理積(&&)

false && false: false

false && true: false

true && false: false

true && true: true

論理OR(||)

false || false: false

false || true: true

true || false: true

true || true: true

論理否定(!)

!false: true

!true: false

4

5 に答える 5

18

おそらく、ブール演算子の真理値表を意味します。これは、通常のブール演算(&&、||)の結果を表示します。この表は言語固有のものではありませんが、たとえばここにあります

于 2011-09-28T13:21:45.590 に答える
8

あなたはブール代数を考えています。

于 2011-09-28T13:21:04.373 に答える
6

真理値は、ブール代数を使用して記述できます。andこの記事には、との表も含まれていorます。これは、始めるのに役立つか、さらに混乱するのに役立つはずです。

于 2011-09-28T13:22:58.337 に答える
5

ブール変数に対して実行されるさまざまな操作の出力を記述するブール代数を求めていると思います。ウィキペディアの記事を見てください。

于 2011-09-28T13:21:23.263 に答える
4

すでに良い答えに追加したいと思います:

記号「+」、「*」、および「-」は、ブール代数のOR、∨およびAND、∧およびNOT、¬論理演算子の一部の古い教科書で省略形として使用されることがあります。もちろん、C / C ++では、「and」、「&&」、「or」、「||」を使用します。そして「ない」、「!」。

注意:「true + true」は、C / C ++ではtrueとfalseを1と0として内部表現し、暗黙的にintにキャストすることで2と評価されます。

int main ()
{
  std::cout <<  "true - true = " << true - true << std::endl;
// This can be used as signum function:
// "(x > 0) - (x < 0)" evaluates to +1 or -1 for numbers.
  std::cout <<  "true - false = " << true - false << std::endl;
  std::cout <<  "false - true = " << false - true << std::endl;
  std::cout <<  "false - false = " << false - false << std::endl << std::endl;

  std::cout <<  "true + true = " << true + true << std::endl;
  std::cout <<  "true + false = " << true + false << std::endl;
  std::cout <<  "false + true = " << false + true << std::endl;
  std::cout <<  "false + false = " << false + false << std::endl << std::endl;

  std::cout <<  "true * true = " << true * true << std::endl;
  std::cout <<  "true * false = " << true * false << std::endl;
  std::cout <<  "false * true = " << false * true << std::endl;
  std::cout <<  "false * false = " << false * false << std::endl << std::endl;

  std::cout <<  "true / true = " << true / true << std::endl;
  //  std::cout <<  true / false << std::endl; ///-Wdiv-by-zero
  std::cout <<  "false / true = " << false / true << std::endl << std::endl;
  //  std::cout <<  false / false << std::endl << std::endl; ///-Wdiv-by-zero

  std::cout <<  "(true || true) = " << (true || true) << std::endl;
  std::cout <<  "(true || false) = " << (true || false) << std::endl;
  std::cout <<  "(false || true) = " << (false || true) << std::endl;
  std::cout <<  "(false || false) = " << (false || false) << std::endl << std::endl;

  std::cout <<  "(true && true) = " << (true && true) << std::endl;
  std::cout <<  "(true && false) = " << (true && false) << std::endl;
  std::cout <<  "(false && true) = " << (false && true) << std::endl;
  std::cout <<  "(false && false) = " << (false && false) << std::endl << std::endl;

}

収量:

true - true = 0
true - false = 1
false - true = -1
false - false = 0

true + true = 2
true + false = 1
false + true = 1
false + false = 0

true * true = 1
true * false = 0
false * true = 0
false * false = 0

true / true = 1
false / true = 0

(true || true) = 1
(true || false) = 1
(false || true) = 1
(false || false) = 0

(true && true) = 1
(true && false) = 0
(false && true) = 0
(false && false) = 0
于 2018-10-02T11:47:27.820 に答える