当前位置:首页 » 编程语言 » java异或

java异或

发布时间: 2022-07-01 23:48:58

‘壹’ 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异或运算符求详细过程

int 32位,补码存储

inta=51;
intb=-16;
System.out.println("51="+Integer.toBinaryString(a));
System.out.println("-16="+Integer.toBinaryString(b));
intc=a^b;
System.out.println("异或="+Integer.toBinaryString(c));
System.out.println("即="+c);

51 =110011

-16 =

异或 =

原码为1000。。。111101

即 =-61

‘叁’ java中的(或运算,异或运算,与运算)解释下

java中或运算、异或运算、与运算的使用实例和解释如下:

publicclassTest{publicstaticvoidmain(String[]args){
//1、左移(<<)
//然后左移2位后,低位补0:
////换算成10进制为20System.out.println(5<<2);//运行结果是20
//2、右移(>>)高位补符号位
//然后右移2位,高位补0:
//
System.out.println(5>>2);//运行结果是1
//3、无符号右移(>>>)高位补0
//例如-5换算成二进制后为:0101取反加1为1011
///
/我们分别对5进行右移3位、-5进行右移3位和无符号右移3位:
System.out.println(5>>3);//结果是0
System.out.println(-5>>3);//结果是-1
System.out.println(-5>>>3);//结果是536870911
//4、位与(&)
//位与:第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0
System.out.println(5&3);//结果为1
System.out.println(4&1);//结果为0
//5、位或(|)
//第一个操作数的的第n位于第二个操作数的第n位只要有一个是1,那么结果的第n为也为1,否则为0
System.out.println(5|3);//结果为7
//6、位异或(^)
//第一个操作数的的第n位于第二个操作数的第n位相反,那么结果的第n为也为1,否则为0
System.out.println(5^3);//结果为6
//7、位非(~)//操作数的第n位为1,那么结果的第n位为0,反之。System.out.println(~5);//结果为-6}}

‘肆’ java位异或

第一个图要表达的是&&的意思,&&是逻辑与,两边的条件都是TRUE ,则整个表达式为TRUE。但是计算方向是先左后右,如果左边表部分已经FALSE,那么右边部分不用计算,所以后面那一半 x=6的赋值语句就没执行。但是&是一个位运算符号,表达式里面都要计算。
第二个图,异或就是同位变,1和1异或得0。0和0异或得0,1和0异或得1。A的位可能是1001,某个字可能是1110,异或结果就是0111。那他再异或1001 ,得到1110。所以就是加密解密了。

‘伍’ java中异或是怎样算的

概述

i = 14,异或算法转换二进制,同则取0异则取1;

解析

异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个进制位同值则取0,异值则取1.

简单理解就是不进位加法,如1+1=0,0+0=0,1+0=1.

For example:

3^5 = 6

转成二进制后就是 0011 ^ 0101 二号位和三号位都是异值取1 末尾两个1同值取零,所以3^5 = 0110 = 6

而 i = 50 ,j = 60;

所以:

i 的二进制 = 00110010

j 的二进制 = 00111100

同位相同取0,不同取1所以得出来的值为00001110

i = i ^ j;所以i = 00001110 = 14


拓展内容

异或运算符

性质

1、交换律
2、结合律(即(a^b)^c == a^(b^c))
3、对于任何数x,都有x^x=0,x^0=x
4、自反性 A XOR B XOR B = A xor 0 = A

异或运算最常见于多项式除法,不过它最重要的性质还是自反性:A XOR B XOR B = A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。这是一个神奇的性质,利用这个性质,可以获得许多有趣的应用。 例如,所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。但如果使用异或,就可以节约一个变量的存储空间: 设有A,B两个变量,存储的值分别为a,b,则以下三行表达式将互换他们的值 表达式 (值) :
A=A XOR B (a XOR b)
B=B XOR A (b XOR a XOR b = a)
A=A XOR B (a XOR b XOR a = b)

#code:

‘陆’ java 异或问题。

int a=1 //1的二进制是00000000 00000000 00000000 00000001 --①
int b=2 //2的二进制是00000000 00000000 00000000 00000010 --②
异或就是有且只有一个为1才为1,所以结果如下
a=a^b //异或结果: 00000000 00000000 00000000 00000011 换成十进制就是3 --③
剩下的b=a^b 就是②和③的二进制异或,结果为④
00000000 00000000 00000000 00000001 结果是1 --④
接着就是a=a^b 就是③和④的异或,结果为很显然还是2

‘柒’ java中6异或3是多少

5。
^异或运算符(当两个数字不同时为1,其余为0)6的二进制000001103的二进制00000011所以6^3=00000101答案是5。

‘捌’ java中的异或 与或的区别

true || false || false 结果是true
true ^ false ^ false,结果也是true
false || true || false 结果是true
false ^ true ^ false 结果也是true
false || false || true => true
false ^ false ^ true => true
就是说三个条件只有一个为真的时候,他们运算结果是一样的。
三个条件都是假的情况,运算结果都是false,也相同
但这不表示其他情况也能这样互换。

热点内容
硬盘存储服务器怎么连接 发布:2025-02-04 10:00:55 浏览:27
javaip端口 发布:2025-02-04 09:27:09 浏览:856
国产存储科技进步二等奖 发布:2025-02-04 09:13:00 浏览:693
编程课v 发布:2025-02-04 08:45:00 浏览:108
模拟器能有手机脚本么 发布:2025-02-04 08:39:50 浏览:761
android显示html图片 发布:2025-02-04 08:35:31 浏览:793
如何查学信网账号及密码 发布:2025-02-04 08:33:55 浏览:506
linux32位jdk 发布:2025-02-04 08:33:55 浏览:250
康佳服务器连接失败是怎么回事 发布:2025-02-04 08:18:51 浏览:919
编译编译有什么 发布:2025-02-04 08:05:52 浏览:739