深入理解java中的异或运算符

互联网 19-11-26

Java中的位运算符中有一个叫做异或的运算符,符号为(^)或者 Xor

异或8个字总结 相同出0 不同出1

int a=1; int b=1; System.out.println(a^b);

这里则输出 0

int a=12; int b=0; System.out.println(a^b);

这里则输出 12

小结: 相同的两个数会输出0既false ,另一个数为0 则输出它本身,下面为大家演示两个不同的数字

相关视频教程推荐:java在线教程

运算规则

其运算规则是:在两个二进制操作数的相同位中

如:a=7; b=4;

a=0111; b=0100; (因为int是占据32位的,前面的位数都为0 ,所只展示后4位)

a^b=?

得出 a^b =3

下面为大家详细讲解在不使用第三方的情况下交换两个属性中的值

我们要实现的是a=4; b=7;

公式为 a=a^b;b=a^b;a=a^b;第一步分析:

第一步结束后值为: a=3; b=7;

第二步:b=a^b;

第二步结束后的值:a=3; b=4;

第三步:a=a^b;

第三步结束后的值:a=7; b=4;

这里直接上代码;

private static void ddd() { 		int a[] = { 22, 38, 38,5, 22, 4, 4, 11, 11 }; 		int t = 0; 		for (int i = 0; i < a.length; i++) { 			t ^= a[i]; 		} 		System.out.println(t); 	}

这里将会直接输出 5

下面是一些异或的基本知识,有兴趣的可研究一下;

1. a ^ b = b ^ a

2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

4. a ^ b ^ a = b.

更多相关文章教程推荐:java入门学习

以上就是深入理解java中的异或运算符的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 运算符
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java的String类中两种对象实例化的区别

相关资讯