Java“异或” 运算符
来源:才华咖 本文已影响2.4W人
来源:才华咖 本文已影响2.4W人
导语:异或运算符的符号为^,当对两个整数进行异或操作计算时,是对其相应的`二进制数进行的异或运算。下面让我们了解一下Java的异或运算符。
其规则为:对于每一二进制位,0^0 =0, 0^1=1, 1^0=1, !^1=0。
可简单理解成:相同位为0,不同为为1(或两个数字相加,但不考虑进位)。
因此,又常称为按位异或。
异或运算具有如下几个特征:
1.0^任何数 = 任何数;
2.任何数 ^ 任何数 = 0;
3.具有交换律:a^b = b^a;
4.具有结合律:a^b^c = a^(b^c)。
因此,有时会见到异或运算出现在如下两个场景中:
1.不经过第三方变量直接交换两个整数的值。
1 public class ExchangeNumber {
2
3 public static void main(String[] args) {
4
5 int a = 12;
6 int b = 7;
7 tln("原数 a=" + a + " b=" + b);
8 a = a ^ b;
9 b = a ^ b;
10 a = a ^ b;
11 tln("交换后的值为 a=" + a + " b=" + b);
12 }
13
14 }
2. 在网络传输过程中,通过异或对数字进行简单加密,接收后相应解密。
如:需要加密的数字为a,秘钥为b,则加密后的结果c=a^b;
接收后,对c进行解密。c^b = a^b^b = a^(b^b) = a^0 = a。
Java4安卓开发教程之java的变量
Java类库及其组织结构(Java API)
励志歌曲《命运符号》
在Java中执行JavaScript代码
Java认证考试知识点:Java时间类的函数
Java import以及Java类的搜索路径
Java final 修饰符知识点总结范例
java运行常见异常举例
java运行常见异常类型
JAVA认证开源技术:关于Java的对象equals方法
java与JavaScript语言有何不同
java与javascript之间json格式数据互转详解
2017计算机二级考试Java标识符入门教程
计算机Java实习报告
JavaScript中“+”的解析
JavaScript与java语言有何不同
Java的位运算符和逻辑运算符
Java入门教程:如何使用一个Java
JavaScript与java语言有何区别
java“类的分包处理”详细教程
JAVA认证基础知识:Java文件解压缩示例
sun认证java程序员须知Java日志框架
大学生计算机专业java实习报告
JavaScript与java语言的区别
Java final 修饰符