您的位置:

异或java,异或门真值表

本文目录一览:

java 异或 字符串找不同 是怎么实现的??

函数是运用了异或运算的特点,当两次异或同一字符的时候,他们的结果就相互抵消(等同于没有异或),所以严格说来,这个函数并不能判断两个字符串是否完全相同。他只是判断把这两个字符串,的所有字符全部统计一遍以后,是不是所有的字母都出现偶数次。如果是函数就返回0,否则就返回非0。

java中6异或3是多少

5。

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

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中的(或运算,异或运算,与运算)解释下

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

public class Test {    public static void main(String[] args) {        

// 1、左移(  )        

// 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:

//        // 0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20        System.out.println(5  2);// 运行结果是20         

// 2、右移(  ) 高位补符号位        

// 0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位补0:       

 // 0000 0000 0000 0000 0000 0000 0000 0001       

  System.out.println(5  2);// 运行结果是1         

  // 3、无符号右移(  ) 高位补0        

  // 例如 -5换算成二进制后为:0101 取反加1为1011       

   // 1111 1111 1111 1111 1111 1111 1111 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     } }