一篇文章搞懂逻辑运算与,或,非,同或,异或

1,080 阅读1分钟

1.逻辑与运算(And)

可以用&表示,在程序一般用&&,如if(a&&b)

与运算的规则为:同时为1,结果为1,任意一方为0时,结果为0

1&1=1    1&0=0
0&1=0    0&0=0

举个例子,1010&1101结果为1000。

2.逻辑或运算(Or)

可以用|表示,在程序一般用||,如if(a||b)

或运算的规则为:同时为0,结果为0,任意一方为1时,结果为1

1|1=1    1|0=1
0|1=1    0|0=0

举个例子,1010or1101结果为1111。

3.逻辑非运算(Not)

可以用!表示,如!1=0

非运算的规则比较简单,!1=0;!0=1

举个例子,!1001=0110。

4.异或运算(Xor)

可以用XOR或⊕表示,在程序中,一般使用^表示,如a^b

异或运算的规则为:不同则为1,相同则为0。

1010^1110=0100

举个例子,1010^1110=0100

异或还几个重要的法则:

  • 0^n=n

  • n^n=0

  • b^a^b^c = a^b^b^c = a^c_(这里面b和b异或为0,可以理解为相互抵消了)_

5.同或运算(Xnor)

可以用xnor或⊙表示

同或运算的规则为:不同则为0,相同则为1。

1010 xnor 1110=1011

举个例子,1010 xnor 1110=1011

在程序中,一般没有同或运算符:

可以用两个数的异或结果再次异或1,即可得到两个数的同或结果。