异或是对数据的二进制操作,如果二进制位两个值相同则异或结果为1,不同异或结果为0。
一个数与另一个数异或两次是其本身;
一个数与自身异或,结果为零;
一个数与零异或,结果为其本身。
例:
int a = 15;
int b = 25;
a = a^b;
System.out.println("a="+a);
结果:a=22
15的二进制为00001111
25的二进制为00011001
所以a二进制为00010110,即a=22。
异或是对数据的二进制操作,如果二进制位两个值相同则异或结果为1,不同异或结果为0。
一个数与另一个数异或两次是其本身;
一个数与自身异或,结果为零;
一个数与零异或,结果为其本身。
例:
int a = 15;
int b = 25;
a = a^b;
System.out.println("a="+a);
结果:a=22
15的二进制为00001111
25的二进制为00011001
所以a二进制为00010110,即a=22。