【问题标题】:Difference between or and xoror 和 xor 的区别
【发布时间】:2013-07-15 17:06:10
【问题描述】:

我的问题与运营商有关。今天我研究了运营商。有一种困惑。在 PHP 中,“or”和“xor”有什么区别。我知道它们都与布尔表达式有关。但是找不到原来的区别。

请任何人帮助更清楚地理解它。

【问题讨论】:

标签: boolean


【解决方案1】:

它与mutual exclusion 有关。 xor 是独家的。 or 包含在内。

真值表比较

$x $y ($x or $y) ($x xor $y)
0  0    0          0
1  0    1          1
0  1    1          1
1  1    1          0

注意:最后一种情况的区别。 xor 仅在$x$y 为真时才为真,但不能同时为真(or 的情况)。

【讨论】:

    【解决方案2】:

    xor 表示“异或”。也就是说,是或,但只要改变一下,如果操作的两个参数都为真,则答案为假。

    A xor B == (A or B) && !(A and B)
    

    【讨论】:

    • 反之亦然:A or B == (A xor B) or (A and B)。奇怪的是,我无法使用or in terms of xor 搜索此内容。如果有人可以提供搜索词以找到此内容,请分享。
    【解决方案3】:

    区别在于输入偶数个 1(或真):

    true or  true = true
    true xor true = false
    
    true or  true or  true = true
    true xor true xor true = true
    
    true or  false or  true = true
    true xor false xor true = false
    

    OR的真值表:

      in1  |  in2  | out
    -------|-------|-----
       0   |   0   |  0
       0   |   1   |  1
       1   |   0   |  1
       1   |   1   |  1
    

    异或真值表:

      in1  |  in2  | out
    -------|-------|-----
       0   |   0   |  0
       0   |   1   |  1
       1   |   0   |  1
       1   |   1   |  0
    

    【讨论】:

      【解决方案4】:

      另一种说法:OR 可以看作是一个 AND/OR 连接器。一个或两个选择可以是正确的或选择的。另一方面,XOR 可以被描述为“真正的”OR。两个选项中只有一个可以为真(或已选择)。

      【讨论】:

      • 红药丸异或蓝药丸
      【解决方案5】:

      一个是异或 -> xor,另一个是 or 这意味着在真值表中至少满足一个条件。 or 不是互斥的,xor 是。

      【讨论】:

        【解决方案6】:

        在此处输入图片描述

        xor 是排他的。或者是包容性的

        【讨论】:

          猜你喜欢
          • 2016-08-07
          • 2017-06-01
          • 2018-04-27
          • 1970-01-01
          • 2011-05-09
          • 2011-03-15
          • 2015-04-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多