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 则输出它本身,下面为大家演示两个不同的数字
运算规则
其运算规则是:在两个二进制操作数的相同位中
如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;
异或运算有三个特征,一个是0与一个数做异或操作还是本身,本身与本身做异或操作为0,异或操作还满足交换率。
利用a^a=0的特点实现这个功能
在一个数组中找出出现次数为奇数的,也可理解为出现一次的;
这里直接上代码;
这里将会直接输出 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.
在电脑自带的计算机中可以输入十进制直接转换为2进制,大大的加快了我们理解的速度
代码千万行,注释第一行。格式不规范,报错两行泪
-
JAVA
+关注
关注
20文章
3006浏览量
116835
发布评论请先 登录
Java并发编程的“基石”——多线程概念初识
2022全新版!Java分布式架构设计与开发实战(完结)
风华功率电感出现异响,可能是哪些原因导致的?
Arm Neoverse CPU上大代码量Java应用的性能测试
Camellia算法的实现(基于开源蜂鸟E203协处理器)
risc-v中浮点运算单元的使用及其设计考虑
Java效率提升指南:5个Java工具选型建议及Perforce JRebel和XRebel介绍
Java 在物联网与嵌入式系统中的应用前景与挑战
Is交换机组成的环形网络中,当位于主控节点的Ism网管交换机故障后,为什么环网中其他交换机不受影响?
360环视技术推荐的硬件平台:支持多摄像头与三屏异显的理想选择
KiCad 中的自定义规则(KiCon 演讲)
旺诠合金电阻的命名规则
JAVA中的异或交换运算规则
评论