2016 - 2024

感恩一路有你

java异或运算有啥用 java中异或是怎样算的?

浏览量:2519 时间:2021-03-30 10:37:42 作者:admin

java中异或是怎样算的?

异或运算(^)基于二进制数据。也就是说,当代码中使用异或运算时,这两个条件在运算前会被转换成二进制数据。如果外国同一个地方的值相同(均为0或均为1),则为0;如果值不同(一个为0,一个为1),则为1。例如,int a=4,int b=6,int c=a^b//c的值是a和b的异或。过程1和a的二进制值是0000 0100//,因为高位相同,所以低8位被删除。2经过异或运算后,B的二进制值为0000 0110 3,0000 0010//结果为2

逻辑代数有三个基本运算:and,or和not。实际的逻辑运算问题往往比and、or和not更复杂。但是,它们可以通过and、or和not的组合来实现。最常见的复合逻辑运算是and not、or not、and not、XOR或or。你问的问题(多项式运算和二进制异或会产生相同的结果),因为多项式可以用逻辑代数的基本定理来简化,最后的最小组合可能是异或!详见严实主编的《数字电子技术基础》。

为什么多项式运算和二进制异或会产生相同结果?

假设j=I,那么j>> I=0

j=I,j>> I=0

右移位数等于位数除以2,二进制是一组32:(此公式适用于正数的无符号右移,但不适用于负数)

j>> I=j>>> I=J/(int)(数学.pow(2,I%32))

向左移位的位数等于一个组中二进制32乘以2的位数:

J<< I=J*(int)(数学.pow(2,I%32))

异或运算,从二进制算法到十进制,公式:

^符号异或0^0=0,1^0=1,0^1=1,1^1=0

示例:

9 binary:1001

2 binary:0010

9^2 Result:1011

转换为decimal:821=11

规则:跳过0的数字,只关注每一位的1个十进制数=数学.pow(2,数字(从左到右)-1)

java异或运算有啥用 java异或运算符 或运算和异或运算

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。