逻辑运算符和/或如何工作?

时间:2012-10-29 19:30:03

标签: functional-programming

有人可以向我解释andor运算符在Lisp中的工作原理吗?

假设我有一个函数,我想从四个参数中编写一个函数条件表达式的组合

and4 (x1 x2 x3 x4)

or4 (x1 x2 x3 x4)

与四个参数中的函数andor重合,有人可以解释我如何将它们联系起来或提出如下所示的内容:

and4(1,1,1,1) => 1
and4(1,0,1,1) => 0
or4(1,1,1,1) => 1
or4(0,0,1,0) => 1

我只想简单解释如何理解andor运算符,甚至是一个例子。

1 个答案:

答案 0 :(得分:1)

嗯,你必须从简单开始。

假设数字1为真,0为假。

这是一个逻辑AND运算符的真值表(又名&& in many many language)

a | b | a AND b
0 | 0 |    0
0 | 1 |    0
1 | 0 |    0
1 | 1 |    1

所以,如果a为真且b为真,那么a&& b是真的。

OR运算符的工作方式略有不同 这是逻辑OR运算符的真值表(在许多编程语言中也称为||)

a | b | a OR b
0 | 0 |   0
0 | 1 |   1
1 | 0 |   1
1 | 1 |   1

因此,如果a为真或者b为真,那么OR b为真。

您上面列出的陈述以类似的方式运作。

AND4 (x1 x2 x3 x4)

当且仅当所有变量都为真时,上面将返回1(真);

OR4 (x1 x2 x3 x4) 

如果至少有一个变量为真,则abvove将返回1(真);

相关问题