xie-wen-hui
船帆虽小,却也能远航!

1、位异或运算的原理

1、位异或使用^表示,位异或运算是二进制运算,所以只有0和1,假=1,真=0;所以0^1=1,0^0=0,1^1=0,即真假为假,真真为真,假假为真


代码举栗:
	
	int a = 3; //二进制: 00000011
    int b = 2; //二进制: 00000010
    /*
     * a=00000011    0与0=0,1与1=0,1与0=1
     * b=00000010
     * c=00000001 = 十进制等于1
     * */
     int c = a^b;
     System.out.println(c);//输出1

2、位异或运算的应用

1、可用于无需额外变量交换两个变量的值

代码举栗:
	

public class HashSet02 {
    public static void main(String[] args) {
    
        int a = 10; //二进制: 00001010
        int b = 15; //二进制: 00001111
        /*
        * a=00001010
        * b=00001111
    * <1>:a=00000101  十进制:a=5
    * <2>:b=00001010  十进制:b=10
    * <3>:a=00001111  十进制:a=15
        * */
        a = a^b;//<1>步 a=5
        System.out.println(a);//输出5
        b = b^a;//<2>步
        System.out.println(b);//输出10
        a = a^b;//<3>步
        System.out.println(a);//输出15
        System.out.println(b);//输出10
    }
}

特点: 1、就算是浮点数,位异或运算也能保证精度  2、运算效率极高
posted on 2021-03-01 01:06  xie-wen-hui  阅读(587)  评论(0编辑  收藏  举报