java中的异或运算代码 java利用异或运算的性质,对几个字符

java异或运算符求详细过程int 32位 , 补码存储
int a = 51;
int b = -16;
System.out.println("51=" + Integer.toBinaryString(a));
System.out.println("-16 =" + Integer.toBinaryString(b));
int c = a^b;
System.out.println("异或=" + Integer.toBinaryString(c));
System.out.println("即=" + c);
51=110011
-16 =11111111111111111111111111110000
异或=11111111111111111111111111000011
原码为1000 。。。111101
即=-61
java怎样用异或进行异或运算(^)都以二进制数据为基础进行的运算 。也就是说当代码中使用到异或运算时 , 都会先将两个条件进行转换,转换成二进制数据后,再进行运算 。异域中同位如果值相同(都是0或者都是1)则为0 , 不同(一个是0,一个是1)为1 。
例如
int a=4;
int b=6;
int c = a^b;//c的值是a和b的异或 。值为2.
过程
1、a的值二进制是
0000 0100 //这里去低8位,因为高位都一致 。
2、b的值二进制是
0000 0110
3、异或后
0000 0010//结果是2
java中异或是怎样算的异或运算(^)都以二进制数据为基础进行的运算 。也就是说当代码中使用到异或运算时 , 都会先将两个条件进行转换,转换成二进制数据后,再进行运算 。异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0 , 一个是1)为1 。
例如
int a=4;
int b=6;
int c = a^b;//c的值是a和b的异或 。值为2.过程
1、a的值二进制是
0000 0100 //这里去低8位,因为高位都一致 。2、b的值二进制是
0000 0110 3、异或后
0000 0010//结果是2
JAVA中如何对一个字符串里的字符做异或运算,例如,字符串A=cghjhgfgsdyugh;第一步Java代码:
public class test{
public static void main(String[] args) {
String source = "cghjhgfgsdyugh";
int ch = source.charAt(0);
for(int i=1; isource.length(); i++) {
ch ^= source.charAt(i);
}
System.out.printf("%d : %c\n", ch, ch);
}
}
运行测试:
28 :
java里面的 ^=是什么意思?^= 是Java中的按位异或赋值运算符java中的异或运算代码,它用于将一个变量的值通过按位异或操作(^)后再赋值给它本身 。例如java中的异或运算代码:
int a = 10;// a 初始化为10
a ^= 5;// 将a的值通过按位异或5后再赋值给a,此时a的值变为15
java (异或 , 同或 , 与等 ) 代码填空真异或真为假,假异或假为假||真异或假为真,假异或真为真
--------------------------------------------------------------------------------------------
a^ b^ a=a--------这个命题是成立的
--------------------------------------------------------------------------------------------
在下例中小写a,b都是指向原始值,大写指向当前值
a=a ^ b;(这里记作条件),并记作:第一步这里"b"还是原来的"b"只是"a"变成a ^ b记作A
---------------------------------
根据上面的命题,应该不难推出:
果让b=原来的"a",可以让现在的"A" : a ^ b "^"b即:A^b=a ^ b^b=a
不难看出b的值已经等于原来的a了记作B=a
经过上面的异或运算,现在的B已经是原来的a了.而现在的A还是a ^ b
----------------------------------------------------------------
当前B=a当前 A=a ^ b
要得到原来的a等于原来的b.看上面两个等式不难推出
可以让A=B^A=a ^ b^ a 的结果赋值给A,改变当前A的值
此时B=aA=b
固:ab交换
1:a=a ^ b;
2:b=a ^ b;
3:a=a ^ b;;
或者
b=a ^ b;
a=a ^ b;
b=a ^ b;
【java中的异或运算代码 java利用异或运算的性质,对几个字符】

推荐阅读