
正文
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
相关问答
Q1: 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
Q2: 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
Q3: 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 :
Q4: java里面的 ^=是什么意思?
^= 是Java中的按位异或赋值运算符java中的异或运算代码,它用于将一个变量的值通过按位异或操作(^)后再赋值给它本身。例如java中的异或运算代码:
int a = 10; // a 初始化为10
a ^= 5; // 将a的值通过按位异或5后再赋值给a,此时a的值变为15
Q5: 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=a A=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利用异或运算的性质,对几个字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








