侧边栏壁纸
博主头像
Y丶Zon博主等级

「一笙一个冷悸 &+& 或好或坏……」

  • 累计撰写 79 篇文章
  • 累计创建 101 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

Java中的异或^简单用法

辣比丶小新
2019-10-08 / 0 评论 / 0 点赞 / 46 阅读 / 2549 字

   Java中的位运算符中有一个叫做异或的运算符,符号为(^),其主要是对两个操作数进行位的异或运算,相同取0,相反取1。即两操作数相同时,互相抵消。

   举个简单例子:

    public class Test{
    public static void main(String[] args){
        int a=15;
        int b=2;
        System.out.println("a^b="+(a^b));
    }
}

   输出结果是:a^b=13

    在上面的程序中,a=15的二进制是1111,b=2的二进制是0010,经过异或运算后,得到的二进制数为1101,转换为十进制就是13。

    第一个简单用法是可以用来交换两个基本数据类型的变量的内容

    以下是例子:

    int f = 50;
    int g = 60;
    f = f^g;
    g = f^g;
    f = f^g;
    System.out.println(f+" "+g);

   输出结果是:60 50
   第二个是可以简单应用到一些算法当中,例如,有偶数个数相同,需要找出不同的那个数时,比如:2,3,4,4,3,5,5,6,6,7,7。下面是例子:

    public class Find    {
    public static void main(String[] args){
        int array[] = {2,3,4,4,3,5,5,6,6,7,7};
        int a = 0;
        for(int i=0;i<array.length;i++){
            v^=array[i];
        }
        System.out.println("不相同的那个数是:"+v);
    }
}

   输出的结果是:不相同的那个数是:2

0

评论区