定义异或是一个数学运算符。它应用于逻辑运算。 其运算法则为a异或b=a'b或ab'(a'为非a)。
真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。
异或运算法则1. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
2. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.
作用在计算机中普遍运用,异或的逻辑符号^ (Shift + 6).形象表示为:
真^假=真
假^真=真
假^假=假
真^真=假
或者为:
True ^ False = True
False ^ True = True
False ^ False = False
True ^ True = False
部分计算机语言用1表示真,用0表示假,所以两个字节按位异或如下
00000000
异或
00000000
=
00000000
============我是分界线============
11111111
异或
00000000
=
11111111
=============我还是分界线=============
00000000
异或
11111111
=
11111111
===========又是我。。。================
11111111
异或
11111111
=
00000000
=============分界线=====================
00001111
异或
11111111
=
11110000
========================================
所以 按位异或 也常用于字节取反操作。
---------------------------------------------------------------
异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.
例如:
a=9;
b=10;
a=a^b;
b=b^a;
a=a^b;
结果是a为10,b为9.
4、异或和同或互为非运算。
5、如何用与操作和非操作实现异或~为取反符号
Y=A(~B)+(~A)B
3、在计算机二进制计算中,对A,B的异或逻辑计算规律为:A,B输入相同时,输出为0,A,B输入不相同时,输出为1。
例如:X=100101,Y=101101,求X♁Y
100101
101101
得001000