和&&和逻辑和||逻辑表

时间:2011-09-28 13:18:00

标签: c truthtable

表C语言的真/假

我听说C语言为&&&&或||是一种数学,他们说如果真实+真实=假和真假=假

我只是对此感到困惑,我试图进行研究,但找不到任何表格

我只想将此表用于我的笔记,因为我将用C语言完成更多工作

如果有人可以带我到他们解释更多的网站或资源


我已经编辑了我的原始问题,使其成为我自己研究的一个注释。感谢@thiton提供了很好的参考资料,其余的则提供了很棒的答案/资源。

Logical AND (&&)

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

逻辑NOT(!)

!false: true

!true: false

5 个答案:

答案 0 :(得分:11)

你可能指的是布尔运算符的真值表,它显示了常用布尔运算的结果(&&,||)。该表不是特定于语言的,但可以找到,例如here

答案 1 :(得分:6)

你在考虑Boolean algebra

答案 2 :(得分:5)

可以使用Boolean algebra来描述真值。该文章还包含andor的表格。这应该可以帮助您开始或更加困惑。

答案 3 :(得分:4)

我想你要求Boolean algebra描述对布尔变量执行的各种操作的输出。请看维基百科上的文章。

答案 4 :(得分:0)

我想补充一些已经很好的答案:

在某些较早的教科书中,符号'+','*'和'-'在Bool代数中的OR,∨和AND,∧和NOT,¬逻辑运算符中有时用作速记。在C / C ++中,我们当然使用“和”,“ &&”和“或”,“ ||”和“不是”,“!”。

当心::“ 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