`

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码表进行验证

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics