Java char类型异或操作小例子 java基础char异或
异或的运算是一个二进制运算: 两个操作数相等为0,不等为11^1=0 0^0=0 1^0=1 0^1=1
两个char类型变量做异或操作时,要上转成二进制位,并按位异或,直接输出表达式结果就是数字,要想知道异或后的字符是什么,需要向下转回到char型,例子如下:
public static void main(String[] args) {
char[] arr = {'我','是','谁'};
char b = 'c';
for (char c : arr) {
System.out.println(c);
}
for(char c:arr){
int temp = c^b;//异或后的10进制形式
String tempHexStr = Integer.toHexString(temp);
System.out.println("十进制的异或结果"+temp);
System.out.println("十六进制的异或结果"+tempHexStr);
System.out.println("对应字符:"+(char)temp);
}
}
***************************************************************************************
结果为:
我
是
谁
十进制的异或结果25202
十六进制的异或结果6272
对应字符:扲
十进制的异或结果26188
十六进制的异或结果664c
对应字符:晌
十进制的异或结果35938
十六进制的异或结果8c62
对应字符:豢
可结合unicode码表进行验证