Java“异或” 运算符
导语:异或运算符的符号为^,当对两个整数进行异或操作计算时,是对其相应的`二进制数进行的异或运算。下面让我们了解一下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。
-
如何使用一个java
Java是一种可以撰写跨平台应用程序的`面向对象的程序设计语言。以下是小编为大家搜索整理的如何使用一个java,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!...
-
jsp向cookie写入中文乱码的解决办法
jsp在向cookie写入中文乱码大家是怎么处理的呢?下面是小编给大家提供的解决办法,大家可以参考阅读,更多详情请关注应届毕业生考试网。在jsp中对中文的处理有一点不好就可能出现乱码了,下面我来给大家介绍jsp中向cookie写入中文实现程序有需要了解的`朋友可参考。Co...
-
java知识点详细总结大纲
没有风浪,便没有勇敢的弄潮儿;没有荆棘,也没有不屈的开拓者。以下是小编为大家搜索整理了java知识点详细总结,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!一:java概述:1991年Sun公司的JamesGosling等人开始开发名称为Oak的语言,希望用于控制...
-
java环境变量设置path
导语:java的环境变量是怎么设置的呢?以下小编为大家介绍java环境变量设置path文章,仅供参考!java环境变量设置path环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路...