java中关于^的一些应用
发现^的一些比较有趣的用法。
1.异或的概念
^是一个位运算符,它主要应用在二进制中,它的运算规则是,不同则为1,相同则为0。
2.异或的一个特性
关于^有一个特性就是:当某个数字异或同一个数字两次,该数字不变,下面的应用都是基于这个特性。
3.异或的一些应用
需求1:两个变量中的值互换
这个问题是一个很初级的问题,就算是刚接触到编程的人也会脱口而出,就是定义三个变量,其中一个空闲变量。但是越是简单的问题,越是有人在这上面做文章,有的时候面试官会让你给出多解,这时会有人想到两数相加再相减。想到这一步你就已经很不错了,但是还不够,我们今天就介绍第三种 ,就是利用^的特性。
需求2:对文件进行简单的加密
利用字节输入流将文件转化为字节,然后对该文件转化的字节流进行异或运算,加密与解密都是同一段代码,因此每一段被操作的字节流异或的是同一个数字