java中字符串异或的原理

是什么原理呢。布尔型的我懂,真假假真为真,真真假假为假。两个字符是如何异或出一个结果的,结果是什么
最新回答
待我学渣成霸

2024-11-08 00:23:47

存在按位异或,就是根据数据在内存中的二进制数的存放形式进行异或操作,
但是不存在字符串的异或
如果在内存中的数据:01010101和10101010异或,结果就是11111111,然后再将
11111111转换成相应的数据输出结果
注意:Java中没有字符串的异或、与、或、非操作,不是C语言那样(除非是你自己定义异或操作)
逆风の蒲公英

2024-11-08 02:29:35

两个字符的异或计算是将字符转换为其ASCII码的二进制数
然后进行按位异或计算10和01为1,11和00为0
最后再转回整形数
寒岛春信

2024-11-08 03:13:40

异或运算有两个特性:
1、一个数异或本身恒等于0,如5^5恒等于0;
2、一个数异或0恒等于本身,如5^0恒等于5。

所以java中下面式子就是用异或来实现交换:
算式一:a=b^(a^a)=a^(a^b);
算式二:b=a^(b^b)^(a^a)=a^(a^b)^(a^b);